USB acm modem help
Robert D. Nashner
yellowdog-newbie@lists.terrasoftsolutions.com
Tue, 06 May 2003 23:36:59 -0700
USB Modem and ACM driver Issues (need the fix or an update)
System is a PowerMac 7500 with 604 CPU, and has had for a while now a YDL
Ver.
2.1 (kernel 2.4.10) installed dual booting with OS 8.6. USB interface is via
Keyspan #1045 PCI card; it runs the mice, an Epson C60, and Zoom 2986L 56K
modem.
For my YDL installation, The usbdevfs uses OHCI v4.0 and ACM module v0.20.
All
USB devices are built-in now, not modular. Also I made 4 /dev/usb/ttyACM*
nodes
as the HowTo's advise. Once Linux boots, file /proc/bus/usb/devices has the
following modem information:
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=02(comm. ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 2
P: Vendor=0803 ProdID=9700 Rev= 1.00
S: Manufacturer=Zoom Telephonics, Inc.
S: Product=Zoom V90 USB Faxmodem
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=400mA
I: If#= 0 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=02(O) Atr=02(Bulk) MxPS= 16 Ivl= 0ms
E: Ad=84(I) Atr=03(Int.) MxPS= 63 Ivl= 2ms
C: #Ifs= 2 Cfg#= 2 Atr=a0 MxPwr=400mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=(none)
E: Ad=84(I) Atr=03(Int.) MxPS= 32 Ivl=128ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=02 Prot=01 Driver=(none)
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
E: Ad=86(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
Then after boot-up: is the ACM driver installation message in file
/var/log/messages is as follows:
Apr 24 21:17:15 localhost kernel: usb.c: registered new driver acm
Apr 24 21:17:15 localhost kernel: acm.c: v0.20:USB Abstract Control
Model driver for USB modems and ISDN adapters
After examining source acm.c I know from the log message that the ACM driver
got
registered; its acm_init() routine printed the above message. But the
modem's
usb/devices data shows as the current (c:*)configuration, the 1st one with
the
wrong vendor classes instead of the 2nd with standard looking comm and data
interfaces.
The acm's acm_probe() routine loops through all the configurations till it
finds
the right one. It looks OK, like it should have found the 2nd C: line of
this
modem if called with right device (dev) structure containing good modem data
as
seen in usb/devices. The 2986L is in the ACM compatability lists. The acm
prober
has a printk() call which when a compatable modem device is found, displays
something like this in the messages log:
localhost kernel: usb.c: ttyACM0: USB ACM device
But this is never written; instead the message logged in log/dmesg is:
usb.c: USB device 2 (vend/prod 0x803/0x9700) is not claimed by any active
driver
for the modem interfaces, and similarly, all interface drivers for the modem
show
up in usb/devices as (none) instaed of acm. Two possibilities seem most
likely
now; either the acm prober never runs - doesn't get called by the file
system, or
some usb_device structure is passed with device info. from usb/devices other
than
for the modem. The other drivers blp, hub, & hid get probed and seem to
work as
expected.
I didn't see this issue discussed in the newbie messages archive.
The acm prober also has a configuration number probing debug message (not
enabled
now) which otherwise could tell me if acm_probe() even ran. Before take the
trouble to recompile with USB modules, insert more debug messages in the
prober
to examine I: and E lines, etc. I am asking, is there an driver update or
more
likely, what YDL Version fixes this?. I will probably upgrade it all to 3.0
eventually; but now I would be satisfied with the earliest version known to
solve
this problem, or whatever takes the least time to get what I have to work
and go
on line.
Thanks for and additional information or advice
RDN