18c2ecf20Sopenharmony_ci====================== 28c2ecf20Sopenharmony_ciLinux ACM driver v0.16 38c2ecf20Sopenharmony_ci====================== 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciCopyright (c) 1999 Vojtech Pavlik <vojtech@suse.cz> 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciSponsored by SuSE 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci0. Disclaimer 108c2ecf20Sopenharmony_ci~~~~~~~~~~~~~ 118c2ecf20Sopenharmony_ciThis program is free software; you can redistribute it and/or modify it 128c2ecf20Sopenharmony_ciunder the terms of the GNU General Public License as published by the Free 138c2ecf20Sopenharmony_ciSoftware Foundation; either version 2 of the License, or (at your option) 148c2ecf20Sopenharmony_ciany later version. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciThis program is distributed in the hope that it will be useful, but 178c2ecf20Sopenharmony_ciWITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 188c2ecf20Sopenharmony_cior FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 198c2ecf20Sopenharmony_cimore details. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciYou should have received a copy of the GNU General Public License along 228c2ecf20Sopenharmony_ciwith this program; if not, write to the Free Software Foundation, Inc., 59 238c2ecf20Sopenharmony_ciTemple Place, Suite 330, Boston, MA 02111-1307 USA 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ciShould you need to contact me, the author, you can do so either by e-mail - 268c2ecf20Sopenharmony_cimail your message to <vojtech@suse.cz>, or by paper mail: Vojtech Pavlik, 278c2ecf20Sopenharmony_ciUcitelska 1576, Prague 8, 182 00 Czech Republic 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciFor your convenience, the GNU General Public License version 2 is included 308c2ecf20Sopenharmony_ciin the package: See the file COPYING. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci1. Usage 338c2ecf20Sopenharmony_ci~~~~~~~~ 348c2ecf20Sopenharmony_ciThe drivers/usb/class/cdc-acm.c drivers works with USB modems and USB ISDN terminal 358c2ecf20Sopenharmony_ciadapters that conform to the Universal Serial Bus Communication Device Class 368c2ecf20Sopenharmony_ciAbstract Control Model (USB CDC ACM) specification. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciMany modems do, here is a list of those I know of: 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci - 3Com OfficeConnect 56k 418c2ecf20Sopenharmony_ci - 3Com Voice FaxModem Pro 428c2ecf20Sopenharmony_ci - 3Com Sportster 438c2ecf20Sopenharmony_ci - MultiTech MultiModem 56k 448c2ecf20Sopenharmony_ci - Zoom 2986L FaxModem 458c2ecf20Sopenharmony_ci - Compaq 56k FaxModem 468c2ecf20Sopenharmony_ci - ELSA Microlink 56k 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ciI know of one ISDN TA that does work with the acm driver: 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci - 3Com USR ISDN Pro TA 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciSome cell phones also connect via USB. I know the following phones work: 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci - SonyEricsson K800i 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ciUnfortunately many modems and most ISDN TAs use proprietary interfaces and 578c2ecf20Sopenharmony_cithus won't work with this drivers. Check for ACM compliance before buying. 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ciTo use the modems you need these modules loaded:: 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci usbcore.ko 628c2ecf20Sopenharmony_ci uhci-hcd.ko ohci-hcd.ko or ehci-hcd.ko 638c2ecf20Sopenharmony_ci cdc-acm.ko 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ciAfter that, the modem[s] should be accessible. You should be able to use 668c2ecf20Sopenharmony_ciminicom, ppp and mgetty with them. 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci2. Verifying that it works 698c2ecf20Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~ 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ciThe first step would be to check /sys/kernel/debug/usb/devices, it should look 728c2ecf20Sopenharmony_cilike this:: 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 758c2ecf20Sopenharmony_ci B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 768c2ecf20Sopenharmony_ci D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 778c2ecf20Sopenharmony_ci P: Vendor=0000 ProdID=0000 Rev= 0.00 788c2ecf20Sopenharmony_ci S: Product=USB UHCI Root Hub 798c2ecf20Sopenharmony_ci S: SerialNumber=6800 808c2ecf20Sopenharmony_ci C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA 818c2ecf20Sopenharmony_ci I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub 828c2ecf20Sopenharmony_ci E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms 838c2ecf20Sopenharmony_ci T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 848c2ecf20Sopenharmony_ci D: Ver= 1.00 Cls=02(comm.) Sub=00 Prot=00 MxPS= 8 #Cfgs= 2 858c2ecf20Sopenharmony_ci P: Vendor=04c1 ProdID=008f Rev= 2.07 868c2ecf20Sopenharmony_ci S: Manufacturer=3Com Inc. 878c2ecf20Sopenharmony_ci S: Product=3Com U.S. Robotics Pro ISDN TA 888c2ecf20Sopenharmony_ci S: SerialNumber=UFT53A49BVT7 898c2ecf20Sopenharmony_ci C: #Ifs= 1 Cfg#= 1 Atr=60 MxPwr= 0mA 908c2ecf20Sopenharmony_ci I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=acm 918c2ecf20Sopenharmony_ci E: Ad=85(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms 928c2ecf20Sopenharmony_ci E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms 938c2ecf20Sopenharmony_ci E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=128ms 948c2ecf20Sopenharmony_ci C:* #Ifs= 2 Cfg#= 2 Atr=60 MxPwr= 0mA 958c2ecf20Sopenharmony_ci I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=acm 968c2ecf20Sopenharmony_ci E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=128ms 978c2ecf20Sopenharmony_ci I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=acm 988c2ecf20Sopenharmony_ci E: Ad=85(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms 998c2ecf20Sopenharmony_ci E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ciThe presence of these three lines (and the Cls= 'comm' and 'data' classes) 1028c2ecf20Sopenharmony_ciis important, it means it's an ACM device. The Driver=acm means the acm 1038c2ecf20Sopenharmony_cidriver is used for the device. If you see only Cls=ff(vend.) then you're out 1048c2ecf20Sopenharmony_ciof luck, you have a device with vendor specific-interface:: 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci D: Ver= 1.00 Cls=02(comm.) Sub=00 Prot=00 MxPS= 8 #Cfgs= 2 1078c2ecf20Sopenharmony_ci I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=acm 1088c2ecf20Sopenharmony_ci I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=acm 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ciIn the system log you should see:: 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ci usb.c: USB new device connect, assigned device number 2 1138c2ecf20Sopenharmony_ci usb.c: kmalloc IF c7691fa0, numif 1 1148c2ecf20Sopenharmony_ci usb.c: kmalloc IF c7b5f3e0, numif 2 1158c2ecf20Sopenharmony_ci usb.c: skipped 4 class/vendor specific interface descriptors 1168c2ecf20Sopenharmony_ci usb.c: new device strings: Mfr=1, Product=2, SerialNumber=3 1178c2ecf20Sopenharmony_ci usb.c: USB device number 2 default language ID 0x409 1188c2ecf20Sopenharmony_ci Manufacturer: 3Com Inc. 1198c2ecf20Sopenharmony_ci Product: 3Com U.S. Robotics Pro ISDN TA 1208c2ecf20Sopenharmony_ci SerialNumber: UFT53A49BVT7 1218c2ecf20Sopenharmony_ci acm.c: probing config 1 1228c2ecf20Sopenharmony_ci acm.c: probing config 2 1238c2ecf20Sopenharmony_ci ttyACM0: USB ACM device 1248c2ecf20Sopenharmony_ci acm.c: acm_control_msg: rq: 0x22 val: 0x0 len: 0x0 result: 0 1258c2ecf20Sopenharmony_ci acm.c: acm_control_msg: rq: 0x20 val: 0x0 len: 0x7 result: 7 1268c2ecf20Sopenharmony_ci usb.c: acm driver claimed interface c7b5f3e0 1278c2ecf20Sopenharmony_ci usb.c: acm driver claimed interface c7b5f3f8 1288c2ecf20Sopenharmony_ci usb.c: acm driver claimed interface c7691fa0 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ciIf all this seems to be OK, fire up minicom and set it to talk to the ttyACM 1318c2ecf20Sopenharmony_cidevice and try typing 'at'. If it responds with 'OK', then everything is 1328c2ecf20Sopenharmony_ciworking. 133