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

Reply via email to