[Bug 266840] umodem: CH552 is not attached

2022-10-05 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266840

Bug ID: 266840
   Summary: umodem: CH552 is not attached
   Product: Base System
   Version: CURRENT
  Hardware: Any
OS: Any
Status: New
  Severity: Affects Only Me
  Priority: ---
 Component: usb
  Assignee: usb@FreeBSD.org
  Reporter: trombik1...@gmail.com

a CH552 board does not attach as umodem(4). the board works on Linux (as
/dev/ttyACM0).

ugen0.6:  at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
(200mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0110 
  bDeviceClass = 0x00ef  
  bDeviceSubClass = 0x0002 
  bDeviceProtocol = 0x0001 
  bMaxPacketSize0 = 0x0008 
  idVendor = 0x1209 
  idProduct = 0xc550 
  bcdDevice = 0x0101 
  iManufacturer = 0x0001  
  iProduct = 0x0002  
  iSerialNumber = 0x0003  
  bNumConfigurations = 0x0001 


 Configuration index 0

bLength = 0x0009 
bDescriptorType = 0x0002 
wTotalLength = 0x004b 
bNumInterfaces = 0x0002 
bConfigurationValue = 0x0001 
iConfiguration = 0x  
bmAttributes = 0x0080 
bMaxPower = 0x0064 

Additional Descriptor

bLength = 0x08
bDescriptorType = 0x0b
bDescriptorSubType = 0x00
 RAW dump: 
 0x00 | 0x08, 0x0b, 0x00, 0x02, 0x02, 0x02, 0x01, 0x04


Interface 0
  bLength = 0x0009 
  bDescriptorType = 0x0004 
  bInterfaceNumber = 0x 
  bAlternateSetting = 0x 
  bNumEndpoints = 0x0001 
  bInterfaceClass = 0x0002  
  bInterfaceSubClass = 0x0002 
  bInterfaceProtocol = 0x0001 
  iInterface = 0x0004  

  Additional Descriptor

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


  Additional Descriptor

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


  Additional Descriptor

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


  Additional Descriptor

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


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


Interface 1
  bLength = 0x0009 
  bDescriptorType = 0x0004 
  bInterfaceNumber = 0x0001 
  bAlternateSetting = 0x 
  bNumEndpoints = 0x0002 
  bInterfaceClass = 0x000a  
  bInterfaceSubClass = 0x 
  bInterfaceProtocol = 0x 
  iInterface = 0x0004  

 Endpoint 0
bLength = 0x0007 
bDescriptorType = 0x0005 
bEndpointAddress = 0x0002  
bmAttributes = 0x0002  
wMaxPacketSize = 0x0040 
bInterval = 0x 
bRefresh = 0x 
bSynchAddress = 0x 
device 
 Endpoint 1
bLength = 0x0007 
bDescriptorType = 0x0005 
bEndpointAddress = 0x0082  
bmAttributes = 0x0002  
wMaxPacketSize = 0x0040 
bInterval = 0x 
bRefresh = 0x 
bSynchAddress = 0x

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 266840] umodem: CH552 is not attached

2022-10-05 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266840

--- Comment #1 from Tomoyuki Sakurai  ---
Oct  5 15:43:15 t480s kernel: ugen0.6:  at usbus0
Oct  5 15:43:15 t480s kernel: umodem0 on uhub0
Oct  5 15:43:15 t480s kernel: umodem0:  on usbus0
Oct  5 15:43:15 t480s kernel: umodem0: data interface 0, has no CM over data,
has no break
Oct  5 15:43:15 t480s kernel: umodem0: Can't setup transfer
Oct  5 15:43:15 t480s kernel: device_attach: umodem0 attach returned 6

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 266840] umodem: CH552 is not attached

2022-10-05 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266840

Hans Petter Selasky  changed:

   What|Removed |Added

 CC||hsela...@freebsd.org

--- Comment #2 from Hans Petter Selasky  ---
Hi,

There is something called a CM descriptor, and your device apparently got it
wrong!

sys/dev/usb/usb.h:#define   UDESC_CS_INTERFACE  0x24
sys/dev/usb/usb_cdc.h:#define   UDESCSUB_CDC_CM 1   /* Call
Management */
sys/dev/usb/usb_cdc.h:struct usb_cdc_cm_descriptor {

  Additional Descriptor

  bLength = 0x05
  bDescriptorType = 0x24
  bDescriptorSubType = 0x01
   RAW dump: 
   0x00 | 0x05, 0x24, 0x01, 0x00, 0x00
  ^^^ bDataInterface should be 1, because
that is were the data BULK endpoints are!

struct usb_cdc_cm_descriptor {
uByte   bLength;
uByte   bDescriptorType;
uByte   bDescriptorSubtype;
uByte   bmCapabilities;
#define USB_CDC_CM_DOES_CM  0x01
#define USB_CDC_CM_OVER_DATA0x02
uByte   bDataInterface;
} __packed;

I'm sorry to say that your USB modem device is not USB class compliant.

Please notify the manufacturer!

--HPS

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 266840] umodem: CH552 is not attached

2022-10-05 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266840

Hans Petter Selasky  changed:

   What|Removed |Added

 Resolution|--- |Not A Bug
 Status|New |Closed

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 266819] ID 06cb:75bf not recognized as Synaptics

2022-10-05 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266819

--- Comment #10 from Chris Hutchinson  ---
Unless there's anything else that might be performed here.
I'm inclined to close this. It also occurs to me that given
I could not find this elusive solution anywhere on the
internet, including the FreeBSD Synaptics wiki page[1].
Maybe this should be documented? I don't have the
credentials to make the entry on the wiki page, or I'd
have done it myself. :-)
Also. I'm wondering if there isn't something else that
might be done (a hint) so that FreeBSD at least suggests
the solution to this?

--chris

1. https://wiki.freebsd.org/SynapticsTouchpad

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 266840] umodem: CH552 is not attached

2022-10-05 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266840

--- Comment #3 from Tomoyuki Sakurai  ---
(In reply to Hans Petter Selasky from comment #2)

i understand what is going on (i think).

the board is a development board.
https://github.com/WeActStudio/WeActStudio.CH552CoreBoard

when a button is pressed and the dev board is plugged into a machine, the
bootloader, which accepts firmware, runs.

Oct  6 04:23:18 t480s kernel: ugen0.6:  at usbus0

after 10 sec, it runs the user application (probably, an example firmware). the 

Oct  6 04:23:27 t480s kernel: ugen0.6:  at usbus0
(disconnected)
Oct  6 04:23:27 t480s kernel: ugen0.6:  at usbus0
Oct  6 04:23:27 t480s kernel: umodem0 on uhub0
Oct  6 04:23:27 t480s kernel: umodem0:  on usbus0
Oct  6 04:23:27 t480s kernel: umodem0: data interface 0, has no CM over data,
has no break
Oct  6 04:23:27 t480s kernel: umodem0: Can't setup transfer
Oct  6 04:23:27 t480s kernel: device_attach: umodem0 attach returned 6

my understanding is that, if vendor and product ID are defined and added to
umodem_host_devs in umodem.c, it should work when the bootloader is running. am
I correct?

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 266840] umodem: CH552 is not attached

2022-10-05 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266840

--- Comment #4 from Tomoyuki Sakurai  ---
below is dump_device_desc when the bootloader is running.

ugen0.6:  at usbus0, cfg=0 md=HOST spd=FULL
(12Mbps) pwr=ON (100mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0110 
  bDeviceClass = 0x00ff  
  bDeviceSubClass = 0x0080 
  bDeviceProtocol = 0x0055 
  bMaxPacketSize0 = 0x0008 
  idVendor = 0x4348 
  idProduct = 0x55e0 
  bcdDevice = 0x0250 
  iManufacturer = 0x  
  iProduct = 0x  
  iSerialNumber = 0x  
  bNumConfigurations = 0x0001 


 Configuration index 0

bLength = 0x0009 
bDescriptorType = 0x0002 
wTotalLength = 0x0020 
bNumInterfaces = 0x0001 
bConfigurationValue = 0x0001 
iConfiguration = 0x  
bmAttributes = 0x0080 
bMaxPower = 0x0032 

Interface 0
  bLength = 0x0009 
  bDescriptorType = 0x0004 
  bInterfaceNumber = 0x 
  bAlternateSetting = 0x 
  bNumEndpoints = 0x0002 
  bInterfaceClass = 0x00ff  
  bInterfaceSubClass = 0x0080 
  bInterfaceProtocol = 0x0055 
  iInterface = 0x  

 Endpoint 0
bLength = 0x0007 
bDescriptorType = 0x0005 
bEndpointAddress = 0x0082  
bmAttributes = 0x0002  
wMaxPacketSize = 0x0040 
bInterval = 0x 
bRefresh = 0x 
bSynchAddress = 0x 

 Endpoint 1
bLength = 0x0007 
bDescriptorType = 0x0005 
bEndpointAddress = 0x0002  
bmAttributes = 0x0002  
wMaxPacketSize = 0x0040 
bInterval = 0x 
bRefresh = 0x 
bSynchAddress = 0x

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 266840] umodem: CH552 is not attached

2022-10-05 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266840

--- Comment #5 from Hans Petter Selasky  ---
I think you need a special tool using libusb to access this device.

umodem does not support this kind of devices :-(

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 266840] umodem: CH552 is not attached

2022-10-05 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266840

--- Comment #6 from Hans Petter Selasky  ---
Adding, to...@cedro.info . Have you seen such a device before? What do you
think?

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 266840] umodem: CH552 is not attached

2022-10-05 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266840

--- Comment #7 from Tomoyuki Sakurai  ---
(In reply to Hans Petter Selasky from comment #5)

things get clearer. there are several tools to upload firmware.

https://github.com/MarsTechHAN/ch552tool
https://github.com/hexeguitar/CH55x_python_flasher

although i haven't looked at the sources yet, my guess is that, there is no
kernel driver for the bootloader. when the bootloader is running, these tools
directly talk to it using a protocol.

-- 
You are receiving this mail because:
You are the assignee for the bug.