No, I didn't look at that part but the board is already designed with the 
USB2514B and I'm working on the prototypes. If the GL850G is really that 
cost I might have to look into it later though.

On Monday, August 18, 2014 10:33:08 AM UTC-7, Jon Smirl wrote:
>
> Do you know about the GL850G? It is about $0.30. The chip is 
> automatic, no need for SMBUS. 
>
> http://www.kean.com.au/oshw/WR703N/GL850G%20USB%20Hub%201.07.pdf 
>
>
> http://www.aliexpress.com/item/new-hope-GL850G-GL850-SSOP28-100pcs-lots/1860488763.html
>  
>
> On Mon, Aug 18, 2014 at 12:20 PM, George Ioakimedes 
> <georg...@gmail.com <javascript:>> wrote: 
> > I'm working on my new Baseboard design which has a Microchip 4-port USB 
> Hub 
> > chip on it. This chip uses only a SMBus Write and Read command. I 
> upgraded 
> > the kernel to 3.4.90 since 3.4.75 was still using 200kHz as the I2C 
> default 
> > speed. 
> > 
> > I'm using Python to issue commands and looking at a write_i2c_block_data 
> > command on the scope I have confirmed that the command structure is sent 
> > properly. I need to also decode on the scope the read but it appears 
> that 
> > the read is missing the 1st byte. 
> > 
> > If I issue a 
> > 
> > sudo i2cdump -y 1 0x2c s 
> > Error: Adapter does not have SMBus block read capability 
> > 
> > but if I issue a 
> > cubie@Cubian:~$ sudo i2cdump -y 1 0x2c i 
> >      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef 
> > 00: 20 24 04 14 25 b3 0b 9b 00 01 00 00 00 01 32 01     $??%???.?...?2? 
> > 10: 32 32 04 09 13 15 0a 49 00 4f 00 00 00 54 00 45    22?????I.O...T.E 
> > 20: 20 43 00 48 00 4e 00 4f 00 4c 00 4f 00 47 00 49     C.H.N.O.L.O.G.I 
> > 30: 00 45 00 53 00 00 00 4c 00 4c 00 43 00 00 00 00    .E.S...L.L.C.... 
> > 40: 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     ............... 
> > 50: 00 00 00 00 00 42 00 69 00 67 00 00 00 42 00 72    .....B.i.g...B.r 
> > 60: 20 6f 00 74 00 68 00 65 00 72 00 00 00 42 00 61     o.t.h.e.r...B.a 
> > 70: 00 73 00 65 00 62 00 6f 00 61 00 72 00 64 00 00    .s.e.b.o.a.r.d.. 
> > 80: 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     ............... 
> > 90: 00 00 00 32 00 30 00 31 00 34 00 30 00 38 00 30    ...2.0.1.4.0.8.0 
> > a0: 20 30 00 30 00 31 00 00 00 00 00 00 00 00 00 00     0.0.1.......... 
> > b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................ 
> > c0: 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     ............... 
> > d0: 00 e1 00 00 00 00 00 00 00 00 00 00 00 00 00 00    .?.............. 
> > e0: 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     ............... 
> > f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................ 
> > 
> > Notice how every other "0" byte is a 0x20? 
> > 
> > If I run this code: 
> > 
> > import smbus 
> > bus = smbus.SMBus(1) 
> > reg00 = [0x20, 0x24, 0x04, 0x14, 0x25, 0xB3, 0x0B, 0x9B, 0x00, 0x01, 
> 0x00, 
> > 0x00, 0x00, 0x01, 0x32, 0x01, 0x32] 
> > bus.write_i2c_block_data(0x2c, 0x00, reg00) 
> > 
> > You get the above dump. From my understanding the 1st byte is supposed 
> to be 
> > the number of bytes being sent. That code does appear correctly on the 
> scope 
> > when I'm writing data 
> > 
> > I've made some progress and it appears that the hub does get enumerated: 
> > 
> > cubie@Cubian:~$ lsusb 
> > Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub 
> > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
> > Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
> > Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
> > Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
> > 
> > But if I try to get some additional information about the hub, lsusb 
> > complains that it couldn't open the hub so I'm not sure if it really 
> > enumerated properly 
> > 
> > cubie@Cubian:~$ lsusb -v -s 001:003 
> > 
> > Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub 
> > Couldn't open device, some information will be missing 
> > Device Descriptor: 
> >   bLength                18 
> >   bDescriptorType         1 
> >   bcdUSB               2.00 
> >   bDeviceClass            9 Hub 
> >   bDeviceSubClass         0 Unused 
> >   bDeviceProtocol         2 TT per port 
> >   bMaxPacketSize0        64 
> >   idVendor           0x0424 Standard Microsystems Corp. 
> >   idProduct          0x2514 USB 2.0 Hub 
> >   bcdDevice            b.b3 
> >   iManufacturer           1 
> >   iProduct                2 
> >   iSerial                 3 
> >   bNumConfigurations      1 
> >   Configuration Descriptor: 
> >     bLength                 9 
> >     bDescriptorType         2 
> >     wTotalLength           41 
> >     bNumInterfaces          1 
> >     bConfigurationValue     1 
> >     iConfiguration          0 
> >     bmAttributes         0xe0 
> >       Self Powered 
> >       Remote Wakeup 
> >     MaxPower                2mA 
> >     Interface Descriptor: 
> >       bLength                 9 
> >       bDescriptorType         4 
> >       bInterfaceNumber        0 
> >       bAlternateSetting       0 
> >       bNumEndpoints           1 
> >       bInterfaceClass         9 Hub 
> >       bInterfaceSubClass      0 Unused 
> >       bInterfaceProtocol      1 Single TT 
> >       iInterface              0 
> >       Endpoint Descriptor: 
> >         bLength                 7 
> >         bDescriptorType         5 
> >         bEndpointAddress     0x81  EP 1 IN 
> >         bmAttributes            3 
> >           Transfer Type            Interrupt 
> >           Synch Type               None 
> >           Usage Type               Data 
> >         wMaxPacketSize     0x0001  1x 1 bytes 
> >         bInterval              12 
> >     Interface Descriptor: 
> >       bLength                 9 
> >       bDescriptorType         4 
> >       bInterfaceNumber        0 
> >       bAlternateSetting       1 
> >       bNumEndpoints           1 
> >       bInterfaceClass         9 Hub 
> >       bInterfaceSubClass      0 Unused 
> >       bInterfaceProtocol      2 TT per port 
> >       iInterface              0 
> >       Endpoint Descriptor: 
> >         bLength                 7 
> >         bDescriptorType         5 
> >         bEndpointAddress     0x81  EP 1 IN 
> >         bmAttributes            3 
> >           Transfer Type            Interrupt 
> >           Synch Type               None 
> >           Usage Type               Data 
> >         wMaxPacketSize     0x0001  1x 1 bytes 
> >         bInterval              12 
> > 
> > If I plug a keyboard into the hub it does not show up so I know that 
> > something is still not right. Since the idVendor and idProduct come 
> through 
> > correctly I am going to assume that at least part of the registers did 
> get 
> > written correctly even though reading them says they did not. 
> > 
> > If anyone has any helpful advice or knowledge of this I would greatly 
> > appreciate some feedback! 
> > 
> > Thanks, 
> > George 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "linux-sunxi" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to linux-sunxi...@googlegroups.com <javascript:>. 
> > For more options, visit https://groups.google.com/d/optout. 
>
>
>
> -- 
> Jon Smirl 
> jons...@gmail.com <javascript:> 
>

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to