Уважаемые, всем привет.
Я тут задался идеей подцепить к rockchip rk3188 девайсу с armv7l, на ядре 3.0.36+ USB modem (аналоговый, с телефонным джэком).
Вижу что при подключении оного в порт происходит его определение, но НЕ происходит создание ttyUSB и/или ttyACM0:
[Wed Dec 11 04:37:27 2019] usb 2-1.2: new high speed USB device number 16 using usb20_host
[Wed Dec 11 04:37:28 2019] usb 2-1.2: New USB device found, idVendor=0baf, idProduct=0303
[Wed Dec 11 04:37:28 2019] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=10
[Wed Dec 11 04:37:28 2019] usb 2-1.2: Product: USB Modem
[Wed Dec 11 04:37:28 2019] usb 2-1.2: Manufacturer: U.S.Robotics
[Wed Dec 11 04:37:28 2019] usb 2-1.2: SerialNumber: 0000002
Поискав инфу, обнаружил сию надпись:
The ttyACM0 device comes from a CDC modem interface. Unless it’s compiled in your kernel you probably wont see the ttyACM0 devices.
Что даёт поиск cdc:
-rw-r–r– 1 root root 3364 2013-09-04 14:00 /lib/modules/3.0.36+/kernel/drivers/net/usb/cdc_subset.ko
А вот что даёт вывод
#lsusb -v -s 002:021
Bus 002 Device 021: ID 0baf:0303 U.S. Robotics
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0baf U.S. Robotics
idProduct 0x0303
bcdDevice 2.00
iManufacturer 1 U.S.Robotics
iProduct 2 USB Modem
iSerial 10 0000002
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 67
bNumInterfaces 2
bConfigurationValue 2
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 360mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 5 AltIf0
CDC Header:
bcdCDC 10.01
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 1
CDC Union:
bMasterInterface 0
bSlaveInterface 1
CDC ACM:
bmCapabilities 0x06
sends break
line coding and serial state
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 5 AltIf0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0002
(Bus Powered)
Remote Wakeup Enabled
— то есть, cdc этот (вроде как) видит модем, однако НЕ решается создать /dev/ttyUSB и/или /dev/ttyACM0.
Я прочёл тут одну ветку на похожую тему, но ответа так и не нашёл - как заставить девайс создавать /dev/tty*.
Может кто скажет, что не так, или - что надо сделать, что бы этот «3.0.36+ #33 SMP PREEMPT Thu Sep 5 16:37:41 EEST 2013 armv7l GNU/Linux»
не просто увидел мой USB модем, но и создал бы ему /dev/ttyUSB и-или /dev/ttyACM0 ?
Благодарю заранее !
-t