The USB device code can handle multiple modes: 1) ACM Emulate a CDC ACM device for modem use by the usb host. Creates a serial device /dev/usb/acm/* 2) PST The interface that the Motorola Phone Tools Software (for flash programming, ...) uses. It creates three misc devices for userspace: datacmd (read/write) testcmd (read/write) datalog (can only be written by userspace) 3) NET Emulate a usb network device. Allows TCP/IP communication with the usb host # cat /proc/usb-functions usb-device list Device descriptor 12 01 00 02 02 02 00 10 b8 22 0c 60 00 00 03 04 00 01 Configuration descriptor [1 ] 09 02 5c 00 01 01 05 80 fa Interface descriptor [1:1:0 ] 09 04 00 00 03 02 0a 00 06 Class descriptor [1:1:1 ] 05 24 00 10 01 Class descriptor [1:1:2 ] 15 24 12 00 01 74 f0 3d bd 1e c1 44 70 a3 67 71 34 c9 f5 54 37 Class descriptor [1:1:3 ] 07 24 13 01 00 01 00 Class descriptor [1:1:4 ] 0d 24 0f 01 00 00 00 00 ea 05 00 00 00 Class descriptor [1:1:5 ] 07 24 0a 00 02 00 00 Endpint descriptor [1:1:0:1] 07 05 01 02 40 00 00 Endpint descriptor [1:1:0:1] 07 05 82 02 40 00 00 Endpint descriptor [1:1:0:1] 07 05 83 03 10 00 0a String [ 0] 04 09 String [ 1:26] 4eb7ab2026c8 String [ 2:14] (none) String [ 3:18] Motorola String [ 4:32] Motorola USBLAN String [ 5:26] BLAN Net Cfg String [ 6:30] Comm/Data Intf 4) DSPLOG (implemented as kernel module) This creates a /dev/dsplog character device. Userspace programs can write to that device, and it will be transparently written to a USB endpoint. 5) CFG11 (kernel module) Composite interface: ACM, test command and MCU data logger 6) Network Monitor Interface (kernel module) provides cdc-acm and "NM" endpoints. "NM" endpoint connected to read/write /dev/nm interface. 7) storage A usb-storage device