1

Temat: Podłączenie urządzenia USB do komputera przez WiFi

Mam takie teoretyczne pytanie. Dajmy na to, że mam dysk zewnętrzny podłączany do HUB'a USB w routerze i chciałbym aby ten dysk został wykryty przez Windows, bez użycia Samby, montowania itd. Czyli chciałbym aby router był tylko pośrednikiem pomiędzy dyskiem a komputerem, ale żeby komputer wykrył ten dysk jako urządzenie podłączone bezpośrednio przez USB (ew. z pomocą jakiegoś dodatkowego programu). Da się coś takiego zrobić? Jeśli tak, to o czym powinienem poczytać (proszę o nazwy pakietów itp.).
Miłego dnia

2

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Nie. USB w routerze jest hostem do podłączenie innych rzeczy a nie klientem, podłączenie go do komputera nie spowoduje widoczności dysku.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez mar_w 2016-01-03 16:43:37)

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Musiałby zrobić wykopaliska i wgrać obraz BB lub AA. Tam działa usbip z windows-em.
Nie działa z wyższymi kernelami.
EDIT: chyba  że zamieni Windowsa na Linux-a wtedy może wgrać CC na router smile

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

4

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Ano chyba że programowo smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Na routerze mam Luci CC, nie mogę niestety starszych wersji przez problemy z modemem LTE, a najnowsze CC ma wbudowane wsparcie do nich.

O to USBIP mi właśnie chodziło smile Mam w sumie wirtualną maszynę z linuxem jeszcze, więc mógłbym popróbować. A dlaczego nie działa na windowsie z wyższymi kernelami? W każdym razie dzięki, pobawię się tym.

6

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Bo nie ma serowników do windowsa które działają na nowej wersji usbip z kernela. Mając linuksa możesz sobie to skompilować.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Hmmm, na linuxie (kliencie) mam takie coś:

virtual-machine root # usbip list -l 192.168.1.1
usbip err: usbip_network.c: 206 (tcp_connect ) list 3240: No address associated with hostname
- list failed
- 192.168.1.1
usbip err: usbip_network.c: 119 (usbip_recv_op_common) recv op_common, -1
usbip err: vhci_attach.c: 202 (query_exported_devices) recv op_common
usbip err: vhci_attach.c: 417 (show_exported_devices) query
virtual-machine root # uname -r
3.13.0-37-generic

Czyli na tym testowym linuxie mam za stary kernel i nie będzie działać? W sensie, na routerze i na kliencie powinien być taki sam lub inny kompatybilny kernel aby działało?

Póki co pobieram sobie nową wersję minta.

Na windowsie natomiast takie coś miałem:

D:\DOWNLOAD\usbip>usbip -l 192.168.1.1                                          usbip for windows ($Id$)                                                                                                                                        - 192.168.1.1                                                                      1-1.3: unknown vendor : unknown product (1f75:0888)                                  : /sys/devices/platform/ehci-platform/usb1/1-1/1-1.3                            : (Defined at Interface level) (00/00/00) 
D:\DOWNLOAD\usbip>usbip -a 192.168.1.1 1-1.3                                    usbip for windows ($Id$)                                                                                                                                        *** ERROR: cannot find device                                                                             

Czyli urządzenie widziało normalnie, ale nie było w stanie zamontować.

8

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Pod windowsem to nie działa jeżeli używasz CC - pisaliśmy już. A pod linuksem skompiluj sobie usbip które jest jest w kernelu 3.18.23 - inna wersja niekoniecznie musi działać poprawnie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9 (edytowany przez Przmus 2016-01-03 23:14:50)

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Ok, namęczyłem się i nie udało się skompilować nic...
W końcu znalazłem post: http://eko.one.pl/forum/viewtopic.php?p … 87#p138387
I według instrukcji na stronie ( https://www.virtualhere.com ):

wget http://www.virtualhere.com/sites/default/files/usbserver/vhusbdmips
chmod +x ./vhusbdmips
./vhusbdmips

Potem pobrałem klienta na Windows, który automatycznie wszystko zainstalował, łącznie ze sterownikiem i w ten sposób mam dostęp do urządzeń (1 urządzenia w wersji bezpłatnej):
http://i.imgur.com/jK6HmML.png

bardzo fajna rzecz. Szkoda tylko, że prędkośći transferów są takie same jak na sambie sad

10

Odp: Podłączenie urządzenia USB do komputera przez WiFi

OK, postanowiłem spróbować usbip jeszcze raz, chyba udało mi się skompilować według sposobu na linuxie mint 17.3:

apt-get update && apt-get install sysfsutils libsysfs-dev libtool linux-source-"$(uname -r)"
cd /usr/src/linux-source-"$(uname -r)"
apt-get install atool
cd /usr/src/linux-source-3.13.0
aunpack linux-source-3.13.0.tar.bz2
cd linux-source-3.13.0/drivers/staging/usbip/userspace
apt-get install autoconf
apt-get install automake
./autogen.sh
sed -i 's/USBIP_VERSION 0x00000111/USBIP_VERSION 0x00000106/g' configure
./configure --prefix=/usr --sysconfdir=/etc
make install
modprobe usbip-core
modprobe usbip-host
modprobe vhci-hcd

i potem error:

cd src
./usbip list -r 192.168.1.1

vm src # ./usbip list -r 192.168.1.1
usbip: error: failed to get device list from 192.168.1.1

Z tym, że to są sources dla "3.13.0", nie wiem jak pobrać dla "3.18.23" sad

vm src # apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches
linux-source-3.13.0 - Linux kernel source for version 3.13.0 with Ubuntu patches

W ogóle nie ogarniam tego. Czy mogę prosić o jakieś wskazówki, gdzie mogę dostać to "usbip które jest w kernelu 3.18.23"?

11

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Ściągnij kernel 3.18.23 (z kernel.org), rozpakuj, toolsy masz drivers/staging/usbip/userspace...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Ufff, dziękuję. Udało się jakoś. Wklejam jak to zrobiłem, może komuś się przyda:

Pobrać:
https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-3.18.23.tar.gz
Wypakować
cd linux-3.18.23/tools/usb/usbip
libsrc/usbip_common.h:
#include </linux-3.18.23/include/uapi/linux/usbip.h>
-- ważne - ustawić dobrą lokalizację!

apt-get update && apt-get install sysfsutils libsysfs-dev libtool linux-source
apt-get install libudev-dev
apt-get install autoconf
apt-get install automake
./autogen.sh
./configure
make install
modprobe usbip-core
modprobe usbip-host
modprobe vhci-hcd
cd src
./usbip list -r 192.168.1.1

Ale niestety linux nie widzi podłączonego dysku sad
Niby wszystko jest OK:
Host:

usbipd: info: connection from 192.168.1.114:55987
usbipd: info: received request: 0x8003(5)
usbipd: info: found requested device: 1-1.1
libusbip: info: connect: 1-1.1
usbipd: info: request 0x8003(5): complete

Klient:

virtual-machine src # ./usbip attach -r 192.168.1.1 -b 1-1.1
virtual-machine src # ./usbip list -r 192.168.1.1
Exportable USB devices
======================
 - 192.168.1.1
      1-1.1: Sunplus Technology Co., Ltd : SATALink SPIF225A (04fc:0c25)
           : /sys/devices/platform/ehci-platform/usb1/1-1/1-1.1
           : (Defined at Interface level) (00/00/00)
           :  0 - Mass Storage / SCSI / Bulk-Only (08/06/50)

13

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Na linuksie nie udało mi się tego uruchomić, natomiast na Windowsie zadziałało!
Po pierwsze pobrałem wersję znalezioną tutaj: http://sourceforge.net/p/usbip/discussi … age=3#cc28
Sterowniki do windowsa tutaj (usbip.zip): http://sourceforge.net/p/usbip/discussi … e473/#d13f

Normalnie wykryło dysk i działa jak należy, ale wolno (odczyt ~4MB/s, zapis trochę większy: 6-7MB/s):

D:\DOWNLOAD\usb-ip-rev201>usbip -a 192.168.1.1 1-1.1
new usb device attached to usbvbus port 1

Receive sequence:    3200

Mam nadzieję, że się komuś przyda smile

14

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Dzięki za trud i znalezione linki smile
Do tej pory linki z TEJ STRONY nie działały na client-Windows server-CC i niektórzy musieli cofać wersję servera do BB.

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

15 (edytowany przez Przmus 2016-01-05 02:26:01)

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Kurczę, a jednak dalej jest coś nie tak...
Wychodzi na to, ze Windows zaczyna poprawnie znajdować, po tym jak wydamy komendę na linuxie, czyli z poziomu linuxa coś w stylu:

./usbip --log --debug attach -r 192.168.1.1 -b 1-1.1

(mi na linuxie nie znajduje tego urządzenia po podłączeniu, ale mniejsza o to).
Potem:

rmmod vhci-hcd && rmmod usbip-host && rmmod usbip-core

(usunięcie modułów z kernela odłącza urządzenia, bo u mnie detach nie działa)

No i potem na Windowsie normalnie wykrywa:
Przed:

D:\DOWNLOAD\usb-ip-rev201>usbip -a 192.168.1.1 1-1.1
usbip err: usbip_windows.c: 899 (attach_device) cannot find device

Po:

D:\DOWNLOAD\usb-ip-rev201>usbip -a 192.168.1.1 1-1.1
new usb device attached to usbvbus port 1

Wychodzi na to, że aplikacja pod windows ma problem ze znajdowaniem. Jak nie użyjemy klienta linuksowego, to router odbiera sygnał "list" zamiast "attach".

Zapytanie z windowsa przed "fixem":

usbipd: debug: usbipd.c:568:[do_standalone_mode] read event on fd[1]=5
usbipd: info: connection from 192.168.1.100:21345
usbipd: info: received request: 0x8005(6)
usbipd: info: exportable devices: 1

Zapytanie z windowsa po "fixie":

usbipd: info: received request: 0x8003(6)
usbipd: info: found requested device: 1-1.1
libusbip: info: connect: 1-1.1
usbipd: debug: usbipd.c:155:[recv_request_import] import request busid 1-1.1: complete
usbipd: info: request 0x8003(6): complete

Nie znam się za bardzo na tym, ale ciekawe czy dało by się jakiś trick na routerze zastosować, czyli... zamontować lokalne urządzenie przez usbip i może wtedy zaczęłoby normalnie działać na windowsie smile

EDIT:
Ostateczne rozwiązanie dla Windowsa:

killall usbipd; usbipd -D; usbip bind -b 1-1.1; usbip attach -r 192.168.1.1 -b 1-1.1; sleep 5; usbip detach -p 0

Jeśli mamy więcej urządzeń to coś w stylu:

killall usbipd; usbipd -D; usbip bind -b 1-1.1; usbip bind -b 1-1.3; usbip attach -r 192.168.1.1 -b 1-1.1; sleep 5; usbip detach -p 0; usbip attach -r 192.168.1.1 -b 1-1.3; sleep 5; usbip detach -p 0

Przydałoby się potem napisać jakiś inteligentny .sh do tego smile

16 (edytowany przez jzef 2016-09-06 22:47:58)

Odp: Podłączenie urządzenia USB do komputera przez WiFi

Z Eltima miałem problemy ale w przypadku wirtualnych portów RS232 (COM). Polecam narzędzia Fabulatech USB over Network. Nie testowałem USB ale porty RS232 emuluje znakomicie więc można założyć iż i inne porty też działają dobrze.

Przmus napisał/a:

bardzo fajna rzecz. Szkoda tylko, że prędkośći transferów są takie same jak na sambie sad

Jak masz zamontowany dysk w OpenWrt, pokaż wynik polecenia mount

P.S. Czemu nie WinSCP lub serwer FTP - ja używam zamiennie tego do kopiowania plików z/na pendrive podłączony do OpenWrt.