The ACM driver works with modems and ISDN TAs that use the USB Abstract Control Model standard. **************************** Test it: Watch out, the driver is not stable and tested. Sync often, make backups, most importand: don't blame me... Create device files: mknod /dev/ttyACM0 c 166 0 mknod /dev/ttyACM1 c 166 1 mknod /dev/ttyACM2 c 166 2 mknod /dev/ttyACM3 c 166 3 Compile a kernel with support for your host controller (uhci only for now!) and support for ACM. Boot this kernel. If you connect your device to the USB bus you should see messages like the following: Jul 19 20:14:29 office kernel: USB new device connect, assigned device number 1 Jul 19 20:14:29 office kernel: Found 02:09 Jul 19 20:14:29 office kernel: Found 04:09 Jul 19 20:14:29 office kernel: Found 05:07 Jul 19 20:14:29 office last message repeated 2 times Jul 19 20:14:29 office kernel: parsed = 39 len = 67 Jul 19 20:14:29 office kernel: Expected descriptor 04/09, got 02/09 - skipping Jul 19 20:14:29 office kernel: 0 09 Jul 19 20:14:29 office kernel: 1 02 Jul 19 20:14:29 office kernel: 2 43 Jul 19 20:14:29 office kernel: 3 00 Jul 19 20:14:29 office kernel: 4 02 Jul 19 20:14:29 office kernel: 5 02 Jul 19 20:14:29 office kernel: 6 04 Jul 19 20:14:29 office kernel: 7 60 Jul 19 20:14:29 office kernel: 8 00 Jul 19 20:14:29 office kernel: Found 04:09 Jul 19 20:14:29 office kernel: Found 02:09 Jul 19 20:14:29 office kernel: Found 04:09 Jul 19 20:14:29 office kernel: Found 05:07 Jul 19 20:14:29 office kernel: Found 04:09 Jul 19 20:14:29 office kernel: Found 05:07 Jul 19 20:14:29 office kernel: Found 05:07 Jul 19 20:14:29 office kernel: parsed = 67 len = 0 Jul 19 20:14:29 office kernel: getstringtable Jul 19 20:14:29 office kernel: acm_probe Jul 19 20:14:29 office kernel: USB ACM found Watch out for the line: Jul 19 20:14:29 office kernel: USB new device connect, assigned device number 1 and the line: Jul 19 20:14:29 office kernel: USB ACM found These two lines show that the device was seen by the usb host controller and then recognized by the acm driver as a valid device. If you use a terminal emulation software like minicom with /dev/ttyACM0 you should be able to send AT commands to your device and get responses. I've been able to do zmodem downloads to another pc. However downloads from one ISDN TA to another ISDN TA connected to the same PC didn't work. Don't know why. Flow control is not finised after all and i'd guess there might be problems on heavily loades PCs. I also did some tests with ppp but i'm not finised with this. There might be a chance to get it working. However i'd like to know if your device is recognized as an ACM device. I'm also interested if the thing is stable or if it crashes. (should i say how it crases?) You should be able to add and remove devices from the bus. The driver will always try to fill up unused ttys. This means if you hotplug devices their order may have changed after reboot. This is not the behaviour Linus liked to see but it's ok for now. (I hope ;-) Please report your experiences to me: fuerst@in.tum.de *************************** I've tested it with: 3Com ISDN Pro TA. It should work with (That means i know these devices conform to ACM): 3Com Office Connect Modem 3Com Sportster USB (I think that's what it's called) *************************** Many thanks to 3Com which did not only support me with hardware but also with technical support in USB questions. They also allowed me to do tests in their lab. Great! *************************** Known bugs: Flow control not tested (likely not to work) Some tty function calls not implemented (putchar, etc...) Huge amounts of debug output (compile in [*] Magic SysRq key and press ALT+PRTSCR+0 ) Not all mem is freed at close (need terminate irq in hcd) *************************** Have fun, Armin Fuerst