usbip только для прошивок 1.9.2.7-rtn
Поставил, все заработало..., но перезагрузил и:
Все переустановил - запустилось, перезагрузился - опять двадцать пять... Как подгрузить usbip_common_mod.ko и usbip.ko ?Code:usbip err: stub_driver.c: 33 (open_sysfs_stub_driver) usbip_common_mod.ko and u sbip.ko must be loaded
Доп.: Теперь понял, что все время нужно подгружать модули: modprobe usbip
Народ, а может есть какое-то простое решение, которое бы позволяло запускать принтер(или др. устройство) без дополнительных действий - постоянного запуска сервера и подключения клиента?
Я вот, для себя написал скриптик на роутере, который делает всю последовательность команд для запуска сервера и небольшой батник для виндоус, который делает последовательность подключения к серверу:Но может кто делал более удобное подключение. Например, а нельзя ли сделать как-то, чтобы с компьютера можно было одним нажатием на кнопочку и сервер запускался и клиент подключался?Code:usbip.exe -l 192.168.1.1
usbip.exe -a 192.168.1.1 1-2
@pause
rem usbip.exe -d 1-2 (эта строчка для остановки, ее лучше в другой батник)
Кстати, обнаружилась еще одна неприятность: после того как на компьютере отключился от сервера, чтобы вновь подключиться нужно снова заходить на сервер и запускать команду "usbip_bind_driver --usbip 1-2" :((( Как можно сделать, чтобы со стороны сервера все время проверялось - не отвалился ли драйвер?
Еще вопрос возник: А как будет себя вести все это дело, если во время подключения одним клиентом подключится другой клиент с другого компьютера?
Странно, у меня при отключении компа на сервере не отваливается ничего...
У меня 2 ноута, сделал у себя так: на каждом компе по 2 батника на рабочем столе, один - "подключить принтер", второй - "отпустить принтер".
Подключить:Отпустить:PHP Code:c:/usbip/usbip.exe -a 192.168.0.1 1-1
Далее, в "gpedit.msc" в разделе "конфигурация windows" -> "Сценарии" -> "Завершение работы" добавил "Имя сценария" - "C:\usbip\usbip.exe", "Параметры" - "-d 1-1". Это делается на каждом компе, чтобы он при завершении работы windows автоматически "отпускал" принтер.PHP Code:c:/usbip/usbip.exe -d 1-1
Чтобы переключить принтер с одного компа на другой, надо на первом "отпустить" его, а на втором "подключить" и наоборот. По другому - пока никак...
ЗЫ: Прогой "Bat_To_Exe_Converter" я сделал из этих батников exe-шники и задал им параметр "Invisible Application", чтобы эти проги просто висели фоном в процессах и не мешались на панели задач.
Люди, извините, пожалуйста за ламерский вопрос, но... Как можно сделать так, чтобы все это не "слетало" после перезагрузки роутера?
попробовал это все на dir320. подключил через USB-HUB флешку и мышку.
и вот с компаQuote:
[admin@dir320 root]$ usbip_bind_driver --list
List USB devices
- busid 1-1.3 (0458:003a)
1-1.3:1.0 -> none
- busid 1-1.2 (8564:1000)
1-1.2:1.0 -> usb-storage
- busid 1-1 (1a40:0101)
1-1:1.0 -> hub
[admin@dir320 root]$ usbip_bind_driver --usbip 1-1.3
** (process:1038): DEBUG: 1-1.3:1.0 -> none
** (process:1038): DEBUG: write "add 1-1.3" to /sys/bus/usb/drivers/usbip/match_
busid
** Message: bind 1-1.3 to usbip, complete!
где косяк? почему no free port?Quote:
C:\USBIP>usbip -l 192.168.1.1
usbip dbg: usbip_network.c: 229 (tcp_connect ) trying 192.168.1.1 port 3240
usbip dbg: usbip_network.c: 249 (tcp_connect ) connected to 192.168.1.1:3240
- 192.168.1.1
usbip dbg: usbip.c: 423 (query_exported_devices) exportable 1 devices
1-1.3: unknown vendor : unknown product (0458:003a)
: /sys/devices/pci0000:00/0000:00:03.1/usb1/1-1/1-1.3
: (Defined at Interface level) (00/00/00)
: 0 - unknown class / unknown subclass / unknown protocol (03/01/02)
C:\USBIP>usbip -a 192.168.1.1 1-1.3
usbip dbg: usbip_network.c: 229 (tcp_connect ) trying 192.168.1.1 port 3240
usbip dbg: usbip_network.c: 249 (tcp_connect ) connected to 192.168.1.1:3240
usbip dbg: usbip.c: 147 (query_interface0) exportable 1 devices
usbip dbg: usbip.c: 164 (query_interface0) 1-1.3: unknown vendor : unkn
own product (0458:003a)
usbip dbg: usbip.c: 165 (query_interface0) : /sys/devices/pci0000:
00/0000:00:03.1/usb1/1-1/1-1.3
usbip dbg: usbip.c: 166 (query_interface0) : (Defined at Interface
level) (00/00/00)
usbip dbg: usbip.c: 186 (query_interface0) : 0 - unknown class /
unknown subclass / unknown protocol (03/01/02)
usbip dbg: usbip.c: 189 (query_interface0)
usbip dbg: usbip_network.c: 229 (tcp_connect ) trying 192.168.1.1 port 3240
usbip dbg: usbip_network.c: 249 (tcp_connect ) connected to 192.168.1.1:3240
usbip err: usbip.c: 211 (import_device) no free port
usbip err: usbip.c: 309 (attach_device) query
Запуск usbip.exe вёлся от имени учётной записи входящей в число локальных администраторов? Установлен ли драйвер-перечислитель из файла USBIPEnum.inf (п.2.1)?
под админом. драйвер стоял. даже пару раз перегрузился - не помогло.
потом с ноута по вифи зацепился. повторил - на нем завелось. флешку пробросил. проверил скорости. 1.7МБайт/с в обе стороны. сейчас буду пробовать МФУ
теперь третий комп. win7. МФУ (Brother DCP-7010R) на роутере определилось так:
винда подцепила. определилось 2 устройства: Поддержка USB-принтера и сам принтер. Сканер не нашелся. Обидно... Ради него все и делалось :-(Quote:
- busid 1-1.4 (04f9:0182)
1-1.4:1.0 -> usblp
1-1.4:1.1 -> none
Спасибо авторам. Все получилось)
Вот встала острая необходимость написать клиент для windows в краткие сроки.
Решил выложить сюда (см. приложение).
Написано на Delphi 7 (важна была скорость разработки, а в этой IDE очень богатый набор компонент)
Скрытая псевдоконсоль открываеться при двойном щелчке по панели справа от кнопки выход.
Прошу строго не судить. Делалось все в очень! сжатый сроки, и доделываться уже не будет.
В приложении:
bin - скомпилированная прога + usbip.exe и драйвера
source - исходники.
Насколько я понял, это - GUI к клиентской части? Прикрепите скриншот для форумчан, если не трудно.
Роутер давно уехал владелице, так что скрины только в режиме холостого запуска.
Если кратко: это клиент telnet, который автоматизирует процесс использования usbip, избавляя пользователей от необходимости использования консоли.
Уже когда дописывал до конца прогу, понял что можно было бы проще реализовать функциональность (разбор строки ответа роутера. При вхождении спец строки выполнять действия, но повторяю - писалось все в очень быстром темпе).
P.S. Смысл выкладывания программы здесь - подать идею написать ее аналог (более продуманный и надежный) тому у кого есть на руках роутер, есть свободное время и необходимые знания. Всем спасибо за внимания и удачи.
P.S.S. Вспомнил одну неприятную новость - логин/пас закодирован в проге. Кому нужно - необходимо перекомпилировать под свои данные. Сделать можно человеку без навыков программирования:
1. Скачать delphi 7(в интернете очень много сайтов, где можно быстро и легко это сделать)
2. Открыть source/Project1.dpr
3. Найти строку
"procedure TForm1.TelDataAvailable(Sender: TIdTelnet; const Buffer: String);"
4. После этой стоки есть такие строки:
if k = 1 then begin
Memo2.Text := 'Отладочный лог: ';
Tel.Write('admin'+#13#10); //Здесь логин
k:=2;
goto M1;
end;
if k = 2 then begin
Tel.Write('admin'+#13#10); //Здесь пароль
k:=3;
goto M1;
end;
5. Изменить на свои данные.
6 Нажать F9. После скопировать из этой папки project1.exe в папку bin с заменой.
Вроде все.
была тож мысль написать GUI
пошел классическим путем - пересобрал usbip.exe в виде dll
но по отсутствию сообщений в теме, пришел к выводу, что идея не слишком востребована и забил...
а, речь кажется о серверной части... ну тут уж сам б-г велел делать веб интерфейс в стандартных настройках...
Я клиентскую часть автоматизировать не брался, но позволю себе описать каким я GUI вижу:
- Софтина должна жить в трее и выдавать своё присутсвие только одним значком.
- В ней должно быть максимум две вкладки: с настройками и логом. Второе не обязательно.
- В настройках должна быть предоставлена возможность автозапуска при старте ПК, кнопка для установки драйвера USB Enumerator и кнопка Connect/Disconnect.
Другими словами, своим внешним видом она должна походить на Daemon Tools.