Hi
More information about the case as asked.
My kernel version is 2.4.25
My port mean what is says in dmesg when i plug my device. ( So yes there
is two physical connectors and one virtual connector in my hub ( to down
stream ). Here is what dmesg is saying from it. ( i have but some debug
in
usb.c: kmalloc IF da71a8c0, numif 1
usb.c: new device strings: Mfr=0, Product=0, SerialNumber=0
hub.c: USB hub found
hub.c: 3 ports detected
hub.c: part of a compound device
hub.c: ganged power switching
hub.c: global over-current protection
hub.c: Port indicators are not supported
hub.c: power on to power good time: 44ms
hub.c: hub controller current requirement: 100mA
hub.c: port removable status: FFF
hub.c: local power source is good
hub.c: no over-current condition exists
hub.c: enabling power on all ports
usb.c: hub driver claimed interface da71a8c0
usb.c: kusbd: /sbin/hotplug add 15
Length = 18
DescriptorType = 01
USB version = 1.10
Vendor:Product = 03eb:3355
MaxPacketSize0 = 8
NumConfigurations = 1
Device version = 1.17
Device Class:SubClass:Protocol = 09:00:00
Hub device class
Configuration:
bLength = 9
bDescriptorType = 02
wTotalLength = 0019
bNumInterfaces = 01
bConfigurationValue = 01
iConfiguration = 00
bmAttributes = a0
MaxPower = 100mA
Interface: 0
Alternate Setting: 0
bLength = 9
bDescriptorType = 04
bInterfaceNumber = 00
bAlternateSetting = 00
bNumEndpoints = 01
bInterface Class:SubClass:Protocol = 09:00:00
iInterface = 00
Endpoint:
bLength = 7
bDescriptorType = 05
bEndpointAddress = 81 (in)
bmAttributes = 03 (Interrupt)
wMaxPacketSize = 0001
bInterval = ff
hub.c: port 1, portstatus 100, change 0, 12 Mb/s
hub.c: port 2, portstatus 103, change 0, 12 Mb/s
And here is how the device is showing in
/proc/bus/usb/devices
T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 15 Spd=12 MxCh= 3
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=03eb ProdID=3355 Rev= 1.17
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms
And here are information which is missing or i don't know where to look
for them.
DESCRIPTOR FDev_desc[L_F_DEVICE] PROGMEM =
{
0x12, // bLength (1)
0x01, // bDescriptorType (2)
0x10, 0x01, // bcdUSB (Supports USB 1.1 Spec) (3,4)
0x00, // bDeviceClass (5)
0x00, // bDeviceSubClass (6)
0x00, // bDeviceProtocol (7)
0x08, // bMaxPacketSize (For the Control Endpoint *only*) (8)
0x66,0x66, // idVendor proto (9,A)
0xeb,0x03, // idProduct just random number (b,C)
0x00,0x01, // bcdDevice (Revision number for your product) (D,E)
0x01, // iManufacturer (points to your Manufacturor String)(F)
0x02, // iProduct (points to your Product String)(0x10)
0x00, // iSerialNumber - don't use (0x11)
0x01 // bNumbConfigurations (only 1) (0x12)
};
// Function Configuration Descriptor
DESCRIPTOR FConf_desc[L_F_CONFIG] PROGMEM =
{
0x09, // length of configuration part only!
0x02,
// L_F_CONFIG is length of entire config descriptor
0x29,
0x00,
0x01, // One Interface
0x01, // bConfiguration Value
0x02, // String Index
128, // bmAttributes
25, // MaxPower *= 2 mA
// Interface Descriptor
0x09, // #10 bLength
0x04,
0x00, // Interface # 0
0x00, // Alternate setting 0
0x02, // bNumEndpoints this is changed to 0x01 in
//dmesg debug ???
0x03, // bInterfaceClass
0x00,
0x00,
0x00,
// this is not showing in dmesg at all !!!?
0x09, // HID descriptor
0x21,
0x10, 0x01,
0x00,
0x01,
0x22,
0x3d,
0x00, // #16=0x01->boot
// Endpoint 1
0x07, // #28 bLength
0x05,
129, // bEndpointAddress
0x03, // bmAttributes -> interrupt
64, 0x00, // wMaxPacketSize
0x08, // bInterval
// Endpoint 2
0x07, // #28 bLength
0x05,
2, // bEndpointAddress
3, // bmAttributes -> interrupt
8, 0x00, // wMaxPacketSize
8 // bInterval
}
DESCRIPTOR Rep_desc[L_F_HID_REP] PROGMEM =
{
0x06, 0x00, 0xFF, // Usage Page (vendor defined) FF00
0x09, 0x01, // Usage (vendor defined)
0xA1, 0x01, // Collection (Application)
0xA1, 0x00, // Collection (Physical) 9
0x09, 0x01, // Usage (vendor defined)
0x75, 0x08, // Report Size (8) (bits)
0x95, 0x0B, // Report Count (11)(fields)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0x00, // Logical Maximum (255) ? 19
0x35, 0x00, // Physical Minimum (0)
0x46, 0xFF, 0x00, // Physical Maximum (255) ?
0x81, 0x02, // Input (Data, Variable, Absolute)
0x09, 0x01, // Usage (vendor defined)
0x75, 0x10, // Report Size (16) (bits) 29
0x95, 0x04, // Report Count (4) (fields)
0x27, 0xFF, 0xFF, 0x00, 0x00, // Logical Maximum (65535)
0x47, 0xFF, 0xFF, 0x00, 0x00, // Physical Maximum (65535)
0x81, 0x02, // Input (Data, Variable, Absolute) 39
0x09, 0x01, // Usage (vendor defined)
0x75, 0x08, // Report Size (8) (bits)
0x95, 0x02, // Report Count (2) (fields)
0x26, 0xFF, 0x00, // Logical Maximum (255)
0x46, 0xFF, 0x00, // Physical Maximum (255) 49
0x91, 0x02, // Output (Data, Variable, Absolute)
0xC0, // End Collection
0xC0 // End Collection 53 (35)
};
So here is little more information. I am still learning usb so here
could be some irrelevant data but i hope that these information helps.
So what i meaned that virtual port was that interfece 0. But somewhere
in these descriptors are some errors. But i cannot find them i hope that
some one can help me.
And some tips how can i get hold that interface0 would be nice.
Yours
Kari
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel