One more thing.  I added this device to the omninet driver.

lsusb -v shows the device as:

Bus 004 Device 003: ID 0586:1500 ZyXEL Communications Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0586 ZyXEL Communications Corp.
  idProduct          0x1500 
  bcdDevice            0.01
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           46
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x60
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  bytes 8 once
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  bytes 8 once
        bInterval             255
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  bytes 64 once
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  bytes 64 once
        bInterval               0

Does it recognize this as a modem?  Does it matter?  The log from vgetty
shows:

07/05 11:14:01 dem  vgetty: experimental test release 0.9.32 / with
duplex patch
07/05 11:14:01 dem  mgetty: interim release 1.1.35-Feb22
07/05 11:14:01 dem  reading generic configuration from config
file /usr/local/etc/mgetty+sendfax/voice.conf
07/05 11:14:01 dem  reading program vgetty configuration from config
file /usr/local/etc/mgetty+sendfax/voice.conf
07/05 11:14:01 dem  reading port modem configuration from config
file /usr/local/etc/mgetty+sendfax/voice.conf
07/05 11:14:01 dem  check for lockfiles
07/05 11:14:01 dem  locking the line
07/05 11:14:01 dem  tio_get_rs232_lines: TIOCMGET failed: Invalid
argument
07/05 11:14:01 dem  WARNING: DSR is off - modem turned off or bad cable?
07/05 11:14:01 dem  lowering DTR to reset Modem
07/05 11:14:01 dem  TIOCMBIC failed: Invalid argument
07/05 11:14:01 dem  send: \d\d\d+++\d\d\dATH0&D3[0d]
07/05 11:14:04 dem  waiting for ``OK'' ** found **
07/05 11:14:05 dem  send: ATZ2&FS2=255[0d]
07/05 11:14:05 dem  waiting for ``OK'' ** found **
07/05 11:14:05 dem  send: ATS0=0[0d]
07/05 11:14:05 dem  waiting for ``OK'' ** found **
07/05 11:14:05 dem  send: AT+FAA=1[0d]
07/05 11:14:05 dem  waiting for ``OK'' ** found **
07/05 11:14:05 dem  mdm_send: 'ATI'
07/05 11:14:05 dem  ZyXEL Omni 56K (Plus/Pro) detected
07/05 11:14:05 dem  mdm_send: 'ATI1'
07/05 11:14:05 dem  additional info: 'Omni56K Plus  2.02'
07/05 11:14:05 dem  mdm_send: 'AT+FCLASS=2.0' -> OK
07/05 11:14:05 dem  mdm_send: 'AT+FAA=1;+FCR=1' -> OK
07/05 11:14:05 dem  mdm_send: 'AT+FBO=1' -> OK
07/05 11:14:05 dem  mdm_send: 'AT+FNR=1,1,1,0' -> OK
07/05 11:14:05 dem  mdm_send: 'AT+FLI="1 514 3985099"' -> OK
07/05 11:14:05 dem  mdm_send: 'AT+FCC=1,5,0,2,0,0,0,0' -> OK
07/05 11:14:05 dem  detecting voice modem type
07/05 11:14:07 dem  ZyXEL Omni 56K detected
07/05 11:14:08 dem  initializing ZyXEL Omni 56K voice modem
07/05 11:14:09 dem  waiting...

The failures are serial-line related.  Is there a way to force the
driver to see this as a serial device/modem?

David


On Wed, 2006-07-05 at 10:49 -0400, David Ronis wrote:
> Hi Oliver,
> 
> 
> You were write, adding 
> 
> <       { USB_DEVICE(0x0586,0x1500), /* ZYZEL OMNI 56K Plus */
> <       .driver_info = NO_UNION_NORMAL, /* has no union descriptor */
> <       },
> 
> to cdc-acm.c leads to a kernel oops as soon as I plug in the USB cable.
> I've pasted the traceback below.  I'm going to go back to playing with
> the omninet driver, but I suspect I won't be able to figure out how to
> fix the "broken" features.  The reason why I suspected that the acm
> driver would work was because of a report at linux-usb.org, at
> 
> http://www.qbik.ch/usb/devices/search_res.php?pattern=zyxel
> 
> which has the following entry:
> 
> Details for: Zyxel Omni 56K Plus
>           Status partially supported
> ( Analog modem, USB and RS232 )
>                   ( Category: Comm )
> 
> ID
> 0x0586:0x1500
> Driver
> acm
> Linux-USB link
> http://www.qbik.ch/usb/devices/showdev.php?id=999 
> Vendor link
> http://www.zyxel.com/product/modem/o56kusb.htm 
> Comment
> This device is likely already
> supported under a different ID
> ( 0ace:1602 )
> Submitted by
> Erik Romijn ( erik <at> toltech.nl )
> Submitted on
> Wed, 17 Nov 2004 13:42:09 +0100
> Last edited on
> Wed, 17 Nov 2004 13:42:09 +0100
> 
> The other ID claims to be supported by the acm driver.  In any event,
> the report is probably out of date, and says nothing about getting the
> acm driver to recognize it.
> 
> Thanks again for your help.
> 
> David
> 
> Here's the traceback
> 
> Jul  5 10:35:01 ronispc kernel: Oops: 0000 [#1]
> Jul  5 10:35:01 ronispc kernel: SMP 
> Jul  5 10:35:01 ronispc kernel: Modules linked in: cdc_acm autofs
> snd_seq_dummy 
> snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss
> snd_mixer_oss 
> nfsd exportfs lockd sunrpc ipv6 xt_limit ipt_LOG xt_state ip_conntrack
> nfnetlink
>  xt_tcpudp iptable_filter ip_tables x_tables ohci_hcd intel_agp
> snd_hda_intel sn
> d_hda_codec snd_pcm snd_timer snd snd_page_alloc usblp uhci_hcd ehci_hcd
> usbcore
>  i2c_i801 ohci1394 ieee1394 agpgart
> Jul  5 10:35:01 ronispc kernel: CPU:    1
> Jul  5 10:35:01 ronispc kernel: EIP:    0060:[<f89f7eb7>]    Not tainted
> VLI
> Jul  5 10:35:01 ronispc kernel: EFLAGS: 00010246   (2.6.17.3 #32) 
> Jul  5 10:35:01 ronispc kernel: EIP is at acm_probe+0x132/0x7ba
> [cdc_acm]
> Jul  5 10:35:01 ronispc kernel: eax: f37a9a00   ebx: f89fa3c0   ecx:
> 00000000   
> edx: f37a9a00
> Jul  5 10:35:01 ronispc kernel: esi: 00000000   edi: f89fa3e8   ebp:
> f309fc00   
> esp: f26abd80
> Jul  5 10:35:01 ronispc kernel: ds: 007b   es: 007b   ss: 0068
> Jul  5 10:35:01 ronispc kernel: Process modprobe (pid: 5335,
> threadinfo=f26aa000
>  task=f26c1070)
> Jul  5 10:35:01 ronispc kernel: Stack: f309fc00 00000000 f26abddc
> c012a22b 00000
> 000 f37a9a00 f26abd94 c012a237 
> Jul  5 10:35:01 ronispc kernel:        f26abdc0 c212fe40 00000000
> 00000000 00000
> 000 00000002 00000000 c03e6580 
> Jul  5 10:35:01 ronispc kernel:        f26abddc c0353d40 f26abe3c
> f374c1c0 f89fa
> 568 f89fa3c0 f37a9a00 f89fa3e8 
> Jul  5 10:35:01 ronispc kernel: Call Trace:
> Jul  5 10:35:01 ronispc kernel:  <c012a22b> call_usermodehelper_keys
> +0xcb/0xd7  
> <c012a237> __call_usermodehelper+0x0/0x6c
> Jul  5 10:35:01 ronispc kernel:  <f88ff325> usb_probe_interface
> +0x68/0xa3 [usbco
> re]  <c0233c60> driver_probe_device+0x43/0xb3
> Jul  5 10:35:01 ronispc kernel:  <c02ee7a2> klist_dec_and_del+0x16/0x1a
> <c0233d
> 44> __driver_attach+0x0/0x79
> Jul  5 10:35:01 ronispc kernel:  <c0233dbb> __driver_attach+0x77/0x79
> <c023361c
> > bus_for_each_dev+0x58/0x77
> Jul  5 10:35:01 ronispc kernel:  <c0233baa> driver_attach+0x26/0x2a
> <c0233d44> 
> __driver_attach+0x0/0x79
> Jul  5 10:35:01 ronispc kernel:  <c02331f6> bus_add_driver+0x78/0x149
> <f88ff0ea
> > usb_register_driver+0x6c/0xec [usbcore]
> Jul  5 10:35:01 ronispc kernel:  <f89b80d2> acm_init+0xd2/0x103
> [cdc_acm]  <c013
> 51ec> sys_init_module+0x139/0x1add
> Jul  5 10:35:01 ronispc kernel:  <c02f0b35> __mutex_lock_slowpath
> +0x1da/0x434  <
> f88f70c9> usb_buffer_alloc+0x0/0x2e [usbcore]
> Jul  5 10:35:01 ronispc kernel:  <c0102c53> syscall_call+0x7/0xb 
> Jul  5 10:35:01 ronispc kernel: Code: ff 89 44 24 14 0f b6 47 04 89 44
> 24 04 89 
> 2c 24 e8 5f f1 ef ff 89 c6 8b 4c 24 14 85 c9 0f 84 91 02 00 00 85 c0 0f
> 84 89 02
>  00 00 <8b> 46 04 80 78 05 0a 0f 84 81 00 00 00 8b 54 24 14 8b 42 04 80 
> Jul  5 10:35:01 ronispc kernel: EIP: [<f89f7eb7>] acm_probe+0x132/0x7ba
> [cdc_acm
> ] SS:ESP 0068:f26abd80
> 
> 
> On Wed, 2006-07-05 at 00:51 +0200, Oliver Neukum wrote:
> > Am Dienstag, 4. Juli 2006 23:48 schrieb David Ronis:
> > > Thanks Oliver,
> > > 
> > > 
> > > On Tue, 2006-07-04 at 21:50 +0200, Oliver Neukum wrote:
> > > > Am Dienstag, 4. Juli 2006 16:44 schrieb David Ronis:
> > > > > Thanks for the reply.  The output of lsusb -v follows at the end.  As
> > > > 
> > > > This device does not report itself to be a modem.
> > > 
> > > So presumably there's some simple place to force the driver to recognize
> > > this device?  I tried this with the omninet driver (it was trivial to do
> > 
> > It wouldn't work, because acm doesn't use the packets omninet uses.
> > The very fact that it works with the omninet driver shows that you are
> > close.
> > If you absolutely insist on trying cdc-acm, it is this list:
> > static struct usb_device_id acm_ids[] = {
> > from drivers/usb/class/cdc-acm.c
> > 
> > Do you have traces of this modem working under other operating
> > systems?
> > 
> >     Regards
> >             Oliver
> > 
> 



Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to