usb/137377: Support for Huawei E180

c-s at c-s.li c-s at c-s.li
Mon Aug 3 19:37:52 UTC 2009


Sorry, forgot to attach it. Here is the output:

------>
usbconfig -u 2 -a 6 dump_device_desc dump_curr_config_desc                 
                                
ugen2.6: <HUAWEI Mobile HUAWEI Technology> at usbus2, cfg=0 md=HOST
spd=HIGH (480Mbps) pwr=ON                     

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200          
  bDeviceClass = 0x0000    
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x12d1        
  idProduct = 0x1003       
  bcdDevice = 0x0000       
  iManufacturer = 0x0002  <HUAWEI Technology>
  iProduct = 0x0001  <HUAWEI Mobile>         
  iSerialNumber = 0x0000  <no string>        
  bNumConfigurations = 0x0001                


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x00c4    
    bNumInterfaces = 0x0004  
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x00e0               
    bMaxPower = 0x00fa                  

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0003     
      bInterfaceClass = 0x00ff   
      bInterfaceSubClass = 0x00ff 
      bInterfaceProtocol = 0x00ff 
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x00
       RAW dump:               
       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01


      Additional Descriptor

      bLength = 0x04
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump:               
       0x00 | 0x04, 0x24, 0x02, 0x02


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump:               
       0x00 | 0x05, 0x24, 0x01, 0x03, 0x00


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump:               
       0x00 | 0x05, 0x24, 0x06, 0x00, 0x00


      Additional Descriptor

      bLength = 0x15
      bDescriptorType = 0x24
      bDescriptorSubType = 0x12
       RAW dump:               
       0x00 | 0x15, 0x24, 0x12, 0x20, 0x01, 0x98, 0xb0, 0x6a, 
       0x08 | 0x49, 0xb0, 0x9e, 0x48, 0x96, 0x94, 0x46, 0xd9, 
       0x10 | 0x9a, 0x28, 0xca, 0x4e, 0x5d                    


      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x13
       RAW dump:               
       0x00 | 0x06, 0x24, 0x13, 0x00, 0x01, 0x10


     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081 
        bmAttributes = 0x0003     
        wMaxPacketSize = 0x0040   
        bInterval = 0x0005        
        bRefresh = 0x0000         
        bSynchAddress = 0x0000    

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0082 
        bmAttributes = 0x0002     
        wMaxPacketSize = 0x0200   
        bInterval = 0x0020        
        bRefresh = 0x0000         
        bSynchAddress = 0x0000    

     Endpoint 2
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0001 
        bmAttributes = 0x0002     
        wMaxPacketSize = 0x0200   
        bInterval = 0x0020        
        bRefresh = 0x0000         
        bSynchAddress = 0x0000    


    Interface 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0002     
      bInterfaceClass = 0x00ff   
      bInterfaceSubClass = 0x00ff 
      bInterfaceProtocol = 0x00ff 
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x00
       RAW dump:               
       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x15
       RAW dump:               
       0x00 | 0x05, 0x24, 0x15, 0x00, 0x01


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump:               
       0x00 | 0x05, 0x24, 0x06, 0x01, 0x01


      Additional Descriptor

      bLength = 0x15
      bDescriptorType = 0x24
      bDescriptorSubType = 0x12
       RAW dump:               
       0x00 | 0x15, 0x24, 0x12, 0x20, 0x01, 0x98, 0xb0, 0x6a, 
       0x08 | 0x49, 0xb0, 0x9e, 0x48, 0x96, 0x94, 0x46, 0xd9, 
       0x10 | 0x9a, 0x28, 0xca, 0x4e, 0x5d                    


      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x13
       RAW dump:               
       0x00 | 0x06, 0x24, 0x13, 0x00, 0x01, 0x10


     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0083 
        bmAttributes = 0x0002     
        wMaxPacketSize = 0x0200   
        bInterval = 0x0020        
        bRefresh = 0x0000         
        bSynchAddress = 0x0000    

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0002 
        bmAttributes = 0x0002     
        wMaxPacketSize = 0x0200   
        bInterval = 0x0020        
        bRefresh = 0x0000         
        bSynchAddress = 0x0000    


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

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

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0003 
        bmAttributes = 0x0002     
        wMaxPacketSize = 0x0200   
        bInterval = 0x0000        
        bRefresh = 0x0000         
        bSynchAddress = 0x0000    


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

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0004 
        bmAttributes = 0x0002     
        wMaxPacketSize = 0x0200   
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 1
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0085
        bmAttributes = 0x0002
        wMaxPacketSize = 0x0200
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

-----------


On Mon, 3 Aug 2009 13:38:56 +0200, Hans Petter Selasky <hselasky at c2i.net>
wrote:
> On Monday 03 August 2009 08:41:17 c-s wrote:
>> >Number:         137377
>> >Category:       usb
>> >Synopsis:       Support for Huawei E180
>> >Confidential:   no
>> >Severity:       non-critical
>> >Priority:       low
>> >Responsible:    freebsd-usb
>> >State:          open
>> >Quarter:
>> >Keywords:
>> >Date-Required:
>> >Class:          change-request
>> >Submitter-Id:   current-users
>> >Arrival-Date:   Mon Aug 03 06:50:01 UTC 2009
>> >Closed-Date:
>> >Last-Modified:
>> >Originator:     c-s
>> >Release:        Current
>> >Organization:
>> >Environment:
>>
>> FreeBSD c-s.li 8.0-BETA2 FreeBSD 8.0-BETA2 #3: Sat Aug  1 09:26:55 CEST
>> 2009     root at c-st.net:/usr/obj/usr/src/sys/GENERIC  amd64
>>
>> >Description:
>>
>> Attaching a Huawei E180 3G USB modem yields the following message:
>>
>> ====================
>> Aug  3 08:26:06 c-st root: Unknown USB device: vendor 0x12d1 product
>> 0x1003
>> bus uhub2 Aug  3 08:26:06 c-st kernel: ugen2.5: <HUAWEI Technology> at
>> usbus2 Aug  3 08:26:06 c-st kernel: umass0: <HUAWEI Technology HUAWEI
>> Mobile, class 0/0, rev 2.00/0.00, addr 5> on usbus2 Aug  3 08:26:06 c-st
>> kernel: umass0:  SCSI over Bulk-Only; quirks = 0x0000 Aug  3 08:26:07
>> c-st
>> root: Unknown USB device: vendor 0x12d1 product 0x1003 bus uhub2 Aug  3
>> 08:26:07 c-st kernel: umass0:1:0:-1: Attached to scbus1
>> Aug  3 08:26:07 c-st kernel: umass1: <HUAWEI Technology HUAWEI Mobile,
>> class 0/0, rev 2.00/0.00, addr 5> on usbus2 Aug  3 08:26:07 c-st kernel:
>> umass1:  SCSI over Bulk-Only; quirks = 0x0000 Aug  3 08:26:08 c-st
>> kernel:
>> (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 Aug  3
>> 08:26:08 c-st kernel: (probe0:umass-sim0:0:0:0): CAM Status: SCSI Status
>> Error Aug  3 08:26:08 c-st kernel: (probe0:umass-sim0:0:0:0): SCSI
>> Status:
>> Check Condition Aug  3 08:26:08 c-st kernel: (probe0:umass-sim0:0:0:0):
>> NOT
>> READY asc:3a,0 Aug  3 08:26:08 c-st kernel: (probe0:umass-sim0:0:0:0):
>> Medium not present Aug  3 08:26:08 c-st kernel:
>> (probe0:umass-sim0:0:0:0):
>> Unretryable error Aug  3 08:26:08 c-st kernel: cd0 at umass-sim0 bus 0
>> target 0 lun 0 ====================
>>
>> Note that this device is not (!) the same as the already patched Huawei
>> E180v.
>>
> 
> Please provide output from:
> 
> usbconfig -u XXX -a YYY dump_device_desc dump_curr_config_desc
> 
> Where XXX and YYY are the numbers after ugen.
> 
> --HPS


More information about the freebsd-usb mailing list