Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Feb 2009 10:07:56 -0500
From:      Kim Culhan <w8hdkim@gmail.com>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        freebsd-usb@freebsd.org
Subject:   Re: Novatel U727 not recognized
Message-ID:  <89dbfdc30902260707h36d4c7d4u988d1c490aae2243@mail.gmail.com>
In-Reply-To: <200902250800.00365.hselasky@c2i.net>
References:  <89dbfdc30902241338h2e56af93q5d8fb3905454ea36@mail.gmail.com> <200902250800.00365.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Feb 25, 2009 at 1:59 AM, Hans Petter Selasky <hselasky@c2i.net> wro=
te:
> On Tuesday 24 February 2009, Kim Culhan wrote:
>> On Tue, Feb 24, 2009 at 4:34 AM, Hans Petter Selasky <hselasky@c2i.net>
> wrote:
>> > On Tuesday 24 February 2009, Kim Culhan wrote:
>> >> On Tue, Feb 24, 2009 at 3:05 AM, Hans Petter Selasky <hselasky@c2i.ne=
t>
>> >
>> > wrote:
>> >> > On Monday 23 February 2009, Kim Culhan wrote:
>> >> >> On Mon, Feb 23, 2009 at 3:56 PM, Hans Petter Selasky
>> >> >> <hselasky@c2i.net>
>> >> >
>> >> > wrote:
>> >> >> > On Monday 23 February 2009, Kim Culhan wrote:
>> >> >> >> Running 8.0-CURRENT as of 2-22-09
>> >> >> >>
>> >> >> >> The 3g0 device is a Novatel U727 EVDO wireless radio.
>> >> >> >>
>> >> >> >> If the machine boots with the device attached, dmesg reads:
>> >> >> >>
>> >> >> >> u3g0: <Data Interface> on usbus2
>> >> >> >>
>> >> >> >> Remove the device and this is logged:
>> >> >> >>
>> >> >> >> u3g0: at ushub2, port 2, addr 2 (disconnected)
>> >> >> >>
>> >> >> >> Reattach the device and there is this message:
>> >> >> >>
>> >> >> >> uhub_reattach_port:414: could not allocate new device!
>> >> >> >>
>> >> >> >> kernel config has:
>> >> >> >>
>> >> >> >> device =A0 usb2_serial_3g
>> >> >> >>
>> >> >> >> Any help is greatly appreciated
>> >> >> >
>> >> >> > Hi,
>> >> >> >
>> >> >> > Can you turn on USB HUB debugging:
>> >> >> >
>> >> >> > sysctl hw.usb2.uhub.debug=3D15
>> >> >> > sysctl hw.usb.uhub.debug=3D15
>> >> >>
>> >> >> Sure here is dmesg with sysctl hw.usb2.uhub.debug=3D15
>> >> >>
>> >> >> uhub_read_port_status:259: port 2, wPortStatus=3D0x0103,
>> >> >> wPortChange=3D0x0000, err=3DUSB_ERR_NORMAL_COMPLETION
>> >> >> usb2_transfer_power_ref:1470: Adding type 0 to power state
>> >> >> usb2_transfer_power_ref:1483: needs power
>> >> >> u3g_huawei_init:278:
>> >> >> usb2_alloc_device:1618: Found Huawei auto-install disk!
>> >> >> usb2_bus_port_set_device:1334: bus 0xc6733cf0 devices[2] =3D 0xc6b=
c6000
>> >> >> ugen2.2: <Novatel Wireless Inc.> at usbus2
>> >> >> ugen2.2: <Novatel Wireless Inc.> at usbus2 (disconnected)
>> >> >> usb2_bus_port_set_device:1334: bus 0xc6733cf0 devices[2] =3D 0
>> >> >> uhub_reattach_port:414: could not allocate new device!
>> >> >> usb2_needs_explore:1345:
>> >> >> usb2_bus_powerd:1516: bus=3D0xc670bcf0
>> >> >> usb2_bus_powerd:1599: Recomputing power masks
>> >> >> uhub_explore:522: udev=3D0xc6a93000 addr=3D1
>> >> >>
>> >> >> With the old usb, this was returned:
>> >> >>
>> >> >> Feb 22 10:38:37 smallster kernel: ugen2.2: <Novatel Wireless Inc.>=
 at
>> >> >> usbus2 Feb 22 10:38:37 smallster kernel: umass0: <Novatel Wireless
>> >> >> Inc. Novatel Wireless CDMA, class 0/0, rev 1.10/0.00, addr 2> on
>> >> >> usbus2 Feb 22 10:38:37 smallster kernel: umass0: =A0SCSI over
>> >> >> Bulk-Only; quirks =3D 0x0000 Feb 22 10:38:38 smallster kernel:
>> >> >> umass0:1:0:-1: Attached to scbus1 Feb 22 10:38:39 smallster kernel=
:
>> >> >> (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
>> >> >> Feb 22 10:38:39 smallster kernel: (probe0:umass-sim0:0:0:0): CAM
>> >> >> Status: SCSI Status Error
>> >> >> Feb 22 10:38:39 smallster kernel: (probe0:umass-sim0:0:0:0): SCSI
>> >> >> Status: Check Condition
>> >> >> Feb 22 10:38:39 smallster kernel: (probe0:umass-sim0:0:0:0): NOT
>> >> >> READY asc:3a,0 Feb 22 10:38:39 smallster kernel:
>> >> >> (probe0:umass-sim0:0:0:0): Medium not present Feb 22 10:38:39
>> >> >> smallster kernel:
>> >> >> (probe0:umass-sim0:0:0:0): Unretryable error Feb 22 10:38:39
>> >> >> smallster kernel: cd0 at umass-sim0 bus 0 target 0 lun 0 Feb 22
>> >> >> 10:38:39 smallster kernel: cd0: <Novatel Mass Storage 1.00> Remova=
ble
>> >> >> CD-ROM SCSI-2 device Feb 22 10:38:39 smallster kernel: cd0: 1.000M=
B/s
>> >> >> transfers
>> >> >> Feb 22 10:38:39 smallster kernel: cd0: Attempt to query device siz=
e
>> >> >> failed: NOT READY, Medium not present
>> >> >> Feb 22 10:40:27 smallster kernel: g_vfs_done():cd0[READ(offset=3D6=
5536,
>> >> >> length=3D8192)]error =3D 5
>> >> >> Feb 22 10:43:39 smallster kernel: umass0: at ushub2, port 1, addr =
2
>> >> >> (disconnected)
>> >> >> Feb 22 10:43:39 smallster kernel: (cd0:umass-sim0:0:0:0): lost dev=
ice
>> >> >> Feb 22 10:43:39 smallster kernel: (cd0:umass-sim0:0:0:0): removing
>> >> >> device entry Feb 22 10:43:39 smallster kernel: ugen2.2: <Novatel
>> >> >> Wireless Inc.> at usbus2 (disconnected)
>> >> >>
>> >> >> The device initially attempts to simulate the presence of a cdrom.
>> >> >>
>> >> >> Maybe this is creating the problem for usb2.
>> >> >>
>> >> >> -kim
>> >> >
>> >> > Hi Kim,
>> >> >
>> >> > In the latter case you don't have the U3G driver loaded. The U3G
>> >> > driver will detect the CD-ROM and send an eject or propritary comma=
nd.
>> >> > After some while the device should show up like a u3g0 device. The
>> >> > error message you get is like it should be when CD-ROM detection is
>> >> > enabled.
>>
>> AFAIK there is no seperate CD-ROM detection which can be enabled/disable=
d.
>>
>> The device does not show up as a u3g0 device unless the u3g module is
>> loaded after the system is booted with _u3g commented out of the kernel
>> config_
>>
>> After boot:
>>
>> kldload u3g
>>
>> returns
>>
>> u3g0: <Data Interface> on usbus2
>> u3g0: Found 4 ports.
>>
>> If I remove the usb device it reports:
>>
>> u3g0: at ushub2, port 2, addr 2 (disconnected)
>> umass0: at ushub2, port 2, addr 2 (disconnected)
>> (da0:umass-sim0:0:0:0): lost device
>> (da0:umass-sim0:0:0:0): removing device entry
>> ugen2.2: <Novatel Wireless Inc.> at usbus2 (disconnected)
>>
>> If I reattach the device it reports:
>>
>> u3g_huawei_init:278:
>> usb2_alloc_device:1618: Found Huawei auto-install disk!
>> ugen2.2: <Novatel Wireless Inc.> at usbus2
>> ugen2.2: <Novatel Wireless Inc.> at usbus2 (disconnected)
>> uhub_reattach_port:414: could not allocate new device!
>>
>
> If your device does not re-appear within 10 seconds, then try this:
>
> 1) Add a quirk:
>
> kldload usb_quirk
> kldload usb2_quirk
>
> usbconfig add_dev_quirk_vplh vid pid 0 0xFFFF UQ_CFG_INDEX_0
>
> Replace vid and pid by the info provided by "usbconfig -u 2 -a 2
> dump_device_desc".
>
> 2) Dump USB configuration:
>
> usbconfig -u 2 -a 2 dump_curr_config_desc

Taking another pass at this, loading u3g after waiting a minute:

# usbconfig -u 2 -a 2 dump_device_desc

returns:

ugen2.2: <Novatel Wireless CDMA Novatel Wireless Inc.> at usbus2,
cfg=3D0 md=3DHOST spd=3DFULL (12Mbps) pwr=3DON

  bLength =3D 0x0012
  bDescriptorType =3D 0x0001
  bcdUSB =3D 0x0110
  bDeviceClass =3D 0x0000
  bDeviceSubClass =3D 0x0000
  bDeviceProtocol =3D 0x0000
  bMaxPacketSize0 =3D 0x0040
  idVendor =3D 0x1410
  idProduct =3D 0x5010
  bcdDevice =3D 0x0000
  iManufacturer =3D 0x0001  <Novatel Wireless Inc.>
  iProduct =3D 0x0002  <Novatel Wireless CDMA>
  iSerialNumber =3D 0x0004  <091050639170000>
  bNumConfigurations =3D 0x0001

Then we say:

usbconfig add_dev_quirk_vplh 0x1410 0x5010 0 0xFFFF UQ_CFG_INDEX_0

and it returns:

# usbconfig -u 2 -a 2 dump_curr_config_desc
ugen2.2: <Novatel Wireless CDMA Novatel Wireless Inc.> at usbus2,
cfg=3D0 md=3DHOST spd=3DFULL (12Mbps) pwr=3DON


 Configuration index 0

    bLength =3D 0x0009
    bDescriptorType =3D 0x0002
    wTotalLength =3D 0x0083
    bNumInterfaces =3D 0x0005
    bConfigurationValue =3D 0x0001
    iConfiguration =3D 0x0000  <no string>
    bmAttributes =3D 0x00a0
    bMaxPower =3D 0x00fa

    Interface 0
      bLength =3D 0x0009
      bDescriptorType =3D 0x0004
      bInterfaceNumber =3D 0x0000
      bAlternateSetting =3D 0x0000
      bNumEndpoints =3D 0x0003
      bInterfaceClass =3D 0x00ff
      bInterfaceSubClass =3D 0x00ff
      bInterfaceProtocol =3D 0x00ff
      iInterface =3D 0x0003  <Data Interface>

     Endpoint 0
        bLength =3D 0x0007
        bDescriptorType =3D 0x0005
        bEndpointAddress =3D 0x0081
        bmAttributes =3D 0x0003
        wMaxPacketSize =3D 0x0010
        bInterval =3D 0x0080
        bRefresh =3D 0x0000
        bSynchAddress =3D 0x0000

     Endpoint 1
        bLength =3D 0x0007
        bDescriptorType =3D 0x0005
        bEndpointAddress =3D 0x0082
        bmAttributes =3D 0x0002
        wMaxPacketSize =3D 0x0040
        bInterval =3D 0x0000
        bRefresh =3D 0x0000
        bSynchAddress =3D 0x0000

     Endpoint 2
        bLength =3D 0x0007
        bDescriptorType =3D 0x0005
        bEndpointAddress =3D 0x0002
        bmAttributes =3D 0x0002
        wMaxPacketSize =3D 0x0040
        bInterval =3D 0x0000
        bRefresh =3D 0x0000
        bSynchAddress =3D 0x0000


    Interface 1
      bLength =3D 0x0009
      bDescriptorType =3D 0x0004
      bInterfaceNumber =3D 0x0001
      bAlternateSetting =3D 0x0000
      bNumEndpoints =3D 0x0002
      bInterfaceClass =3D 0x00ff
      bInterfaceSubClass =3D 0x00ff
      bInterfaceProtocol =3D 0x00ff
      iInterface =3D 0x0003  <Data Interface>

     Endpoint 0
        bLength =3D 0x0007
        bDescriptorType =3D 0x0005
        bEndpointAddress =3D 0x0084
        bmAttributes =3D 0x0002
        wMaxPacketSize =3D 0x0040
        bInterval =3D 0x0000
        bRefresh =3D 0x0000
        bSynchAddress =3D 0x0000

     Endpoint 1
        bLength =3D 0x0007
        bDescriptorType =3D 0x0005
        bEndpointAddress =3D 0x0004
        bmAttributes =3D 0x0002
        wMaxPacketSize =3D 0x0040
        bInterval =3D 0x0000
        bRefresh =3D 0x0000
        bSynchAddress =3D 0x0000


    Interface 2
      bLength =3D 0x0009
      bDescriptorType =3D 0x0004
      bInterfaceNumber =3D 0x0002
      bAlternateSetting =3D 0x0000
      bNumEndpoints =3D 0x0002
      bInterfaceClass =3D 0x00ff
      bInterfaceSubClass =3D 0x00ff
      bInterfaceProtocol =3D 0x00ff
      iInterface =3D 0x0003  <Data Interface>

     Endpoint 0
        bLength =3D 0x0007
        bDescriptorType =3D 0x0005
        bEndpointAddress =3D 0x0089
        bmAttributes =3D 0x0002
        wMaxPacketSize =3D 0x0040
        bInterval =3D 0x0000
        bRefresh =3D 0x0000
        bSynchAddress =3D 0x0000

     Endpoint 1
        bLength =3D 0x0007
        bDescriptorType =3D 0x0005
        bEndpointAddress =3D 0x0009
        bmAttributes =3D 0x0002
        wMaxPacketSize =3D 0x0040
        bInterval =3D 0x0000
        bRefresh =3D 0x0000
        bSynchAddress =3D 0x0000


    Interface 3
      bLength =3D 0x0009
      bDescriptorType =3D 0x0004
      bInterfaceNumber =3D 0x0003
      bAlternateSetting =3D 0x0000
      bNumEndpoints =3D 0x0002
      bInterfaceClass =3D 0x00ff
      bInterfaceSubClass =3D 0x00ff
      bInterfaceProtocol =3D 0x00ff
      iInterface =3D 0x0003  <Data Interface>

     Endpoint 0
        bLength =3D 0x0007
        bDescriptorType =3D 0x0005
        bEndpointAddress =3D 0x008a
        bmAttributes =3D 0x0002
        wMaxPacketSize =3D 0x0040
        bInterval =3D 0x0000
        bRefresh =3D 0x0000
        bSynchAddress =3D 0x0000

     Endpoint 1
        bLength =3D 0x0007
        bDescriptorType =3D 0x0005
        bEndpointAddress =3D 0x000a
        bmAttributes =3D 0x0002
        wMaxPacketSize =3D 0x0040
        bInterval =3D 0x0000
        bRefresh =3D 0x0000
        bSynchAddress =3D 0x0000


    Interface 4
      bLength =3D 0x0009
      bDescriptorType =3D 0x0004
      bInterfaceNumber =3D 0x0004
      bAlternateSetting =3D 0x0000
      bNumEndpoints =3D 0x0002
      bInterfaceClass =3D 0x0008
      bInterfaceSubClass =3D 0x0006
      bInterfaceProtocol =3D 0x0050
      iInterface =3D 0x0000  <no string>

     Endpoint 0
        bLength =3D 0x0007
        bDescriptorType =3D 0x0005
        bEndpointAddress =3D 0x0085
        bmAttributes =3D 0x0002
        wMaxPacketSize =3D 0x0040
        bInterval =3D 0x0000
        bRefresh =3D 0x0000
        bSynchAddress =3D 0x0000

     Endpoint 1
        bLength =3D 0x0007
        bDescriptorType =3D 0x0005
        bEndpointAddress =3D 0x0006
        bmAttributes =3D 0x0002
        wMaxPacketSize =3D 0x0040
        bInterval =3D 0x0000
        bRefresh =3D 0x0000
        bSynchAddress =3D 0x0000

Hope _this_ helps  :)

-kim



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?89dbfdc30902260707h36d4c7d4u988d1c490aae2243>