Собственно ближе к сути: есть интересный мобильный девайс Motorola MING A1200e, внутри которого крутится Linux с поддержкой технологии USBNET, благодаря которому при подключении по USB телефон видится сетевой карточкой и позволяет заходить внутрь себя по Telnet, FTP, Samba, SSH и VNC.
При подключении устройства ситуация в dmesg
:
$ sudo dmesg
...
[ 8986.727030] usb 2-1.2: new high-speed USB device number 12 using ehci-pci
[ 8986.841739] usb 2-1.2: New USB device found, idVendor=22b8, idProduct=6027, bcdDevice= 0.00
[ 8986.841751] usb 2-1.2: New USB device strings: Mfr=5, Product=2, SerialNumber=0
[ 8986.841755] usb 2-1.2: Product: Motorola USBLAN
[ 8986.841758] usb 2-1.2: Manufacturer: Motorola
[ 8986.845071] usb 2-1.2: bad CDC descriptors
[ 8986.845926] zaurus 2-1.2:1.0 usb0: register 'zaurus' at usb-0000:00:1d.0-1.2, pseudo-MDLM (BLAN) device, 1a:01:5d:2f:1c:2d
По ip a
следующая картина:
$ ip a
...
usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1494 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 1a:01:5d:2f:1c:2d brd ff:ff:ff:ff:ff:ff
inet6 fe80::44c0:ae0e:9ea3:de0a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Назначаю IP-адрес:
$ sudo ip a add 192.168.16.1/255.255.255.0 dev usb0
Картина после этой команды в ip a
следующая:
$ ip a
...
usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1494 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 1a:01:5d:2f:1c:2d brd ff:ff:ff:ff:ff:ff
inet 192.168.16.1/24 scope global usb0
valid_lft forever preferred_lft forever
inet6 fe80::44c0:ae0e:9ea3:de0a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Теперь я могу подключаться к устройству через любой нужный мне протокол, к примеру, telnet 192.168.16.2
, ftp 192.168.16.2
и др.
Но через несколько секунд подключение рвётся, в ip a
при этом снова так, теряется IPv4 адрес:
usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1494 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 1a:01:5d:2f:1c:2d brd ff:ff:ff:ff:ff:ff
inet6 fe80::44c0:ae0e:9ea3:de0a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Выполняю ещё раз sudo ip a add 192.168.16.1/255.255.255.0 dev usb0
, соединение восстанавливается даже «на горячую», в ip a
такая картина:
usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1494 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 1a:01:5d:2f:1c:2d brd ff:ff:ff:ff:ff:ff
inet 192.168.16.1/24 scope global usb0
valid_lft forever preferred_lft forever
Спустя несколько подобных итераций по потере соединения и IP-адреса, а потом после ввода той команды назначения снова, коннект больше не рвётся и остаётся стабильным.
В чём может быть проблема? Она точно не в этом устройстве, а где-то в Ubuntu 22.04 LTS, потому что в Fedora 33 таких проблем с этим же устройством у меня не было, коннект был стабильный и постоянный.