Hi,
after having problems to get the ASI120MC on my Thinkpad T410 working, i used my Ubuntu laptop (DELL). I recognised that the maxpacket size is set to 1024! That must be 512 for USB 2.0. That is the reason why the ASI 120MC is not supported on my Ubuntu laptop and I guess also on the Windows laptop (Thinkpad). Would you mind to release a firmware that fixes that problem?
Quote from Chapter 5.8.3 of USB 2.0 Specification from usb.org.
"All Host Controllers are required to have support for 8-, 16-, 32-, and
64-byte maximum packet sizes for full-speed bulk endpoints and 512
bytes for high-speed bulk endpoints. No Host Controller is required to
support larger or smaller maximum packet sizes."
So 1024 is forbidden! Please, could you prepare a Firmware that sticks to 512. I would volunteer to test.
I also did run a USB compliance test with USBCV (http://www.usb.org/developers/tools/usb20_tools/). It failed the test!
See Errors below (after the section with the linux output in this post). The USBCV test has been performed on Windows 7 64.
Kind regards
Matthias
Attached lsusb in Ubuntu - see wMaxPacketSize:
Bus 001 Device 004: ID 03c3
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x03c3
idProduct 0x120b
bcdDevice 0.00
iManufacturer 1 ZWOptical company
iProduct 2 ASI120MC
iSerial 3 00000
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4 HighSpeed Configuration
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 5 Camera Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
And the corrsponding dmesg entry which indicate the error (see the note on invalid maxpacket it MUST be 512 and not 1024 for USB 2.0):
usb 1-3: new high-speed USB device number 4 using ehci-pci
usb 1-3: config 1 interface 0 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 1024
usb 1-3: New USB device found, idVendor=03c3, idProduct=120b
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-3: Product: ASI120MC
usb 1-3: Manufacturer: ZWOptical company
usb 1-3: SerialNumber: 00000
USBCV Chapter 9 Test errors on Windows 7 64:
---------------------------------
Endpoint Descriptor Test - Configured State
----------------------
Failed
Endpoint descriptor raw MaxPacketSize : 400
INFO
Endpoint descriptor interval : 0
ERROR
Illegal high speed bulk endpoint MaxPacketSize : 400
FAIL
(1.2.81) A High speed Bulk endpoint must have a MaxPacketSize of 0x200.
INFO
Stopping Test
Endpoint Descriptor Test - Addressed State
------------------------------------------
Endpoint descriptor raw MaxPacketSize : 400
INFO
Endpoint descriptor interval : 0
ERROR
Illegal high speed bulk endpoint MaxPacketSize : 400
FAIL
(1.2.81) A High speed Bulk endpoint must have a MaxPacketSize of 0x200.
INFO
Stopping Test
Other Speed Config Descriptor Test - Addressed State
-----------------------------------------------------
Failed
INFO
Start time: Sat Jan 09 16 2016
ERROR
Invalid OtherSpeedConfiguration descriptor type : 9
FAIL
(1.1.6) Device must support a GetDescriptor(OtherSpeedConfiguration) request.
INFO
Stop time: Sat Jan 09 16 2016
INFO
Duration: 1 second.
INFO
Stopping Test
Other Speed Interface Descriptor Test - Addressed State
-------------------------------------------------------
Failed
INFO
Start time: Sat Jan 09 16 2016
ERROR
Invalid OtherSpeedConfiguration descriptor type : 9
FAIL
(1.1.6) Device must support a GetDescriptor(OtherSpeedConfiguration) request.
INFO
Stop time: Sat Jan 09 16 2016
INFO
Duration: 1 second.
INFO
Stopping Test
Other Speed Endpoint Descriptor Test - Addressed State
------------------------------------------------------
Failed
INFO
Start time: Sat Jan 09 16 2016
ERROR
Invalid OtherSpeedConfiguration descriptor type : 9
FAIL
(1.1.6) Device must support a GetDescriptor(OtherSpeedConfiguration) request.
INFO
Stop time: Sat Jan 09 16 2016
INFO
Duration: 1 second.
INFO
Stopping Test