usb keyboard via hub on rpi 3a+

General discussion about anything related to Ultibo.
User avatar
mvdhoning
Posts: 11
Joined: Thu Dec 06, 2018 6:51 pm
Contact:

usb keyboard via hub on rpi 3a+

Postby mvdhoning » Thu Dec 06, 2018 7:07 pm

I am trying to get the 04-KeyboardInput example to work on my rpi 3a+.
After updating the core via git and doing a build ultibo rtl i get text on the monitor.
However the usb keyboard does not work when connected via both of the 2 usb hubs i have available.
It does work when the usb keyboard is plugged in directly on the one usb port the rpi3a+ has, but only when it is plugged in during start of the rpi not when hotplugging.

Am i unlucky to have 2 usb hubs that dont get recognized? Or is the rpi3a+ still to new?

I also tried to following project (https://github.com/pjde/ultibo-usblister) to get more info from my usb devices but it does not seem to work. Not even with the usb keyboard connected directly.

What steps can i try next?

PS way back in time i tried using freepascal on rpi directly with help of dwelch his examples: https://github.com/mvdhoning/fprpbm/ now i can just use ultibo :-)
User avatar
Ultibo
Site Admin
Posts: 2079
Joined: Sat Dec 19, 2015 3:49 am
Location: Australia

Re: usb keyboard via hub on rpi 3a+

Postby Ultibo » Thu Dec 06, 2018 11:18 pm

Hello mvdhoning, welcome to Ultibo!

mvdhoning wrote:I am trying to get the 04-KeyboardInput example to work on my rpi 3a+.
After updating the core via git and doing a build ultibo rtl i get text on the monitor.
However the usb keyboard does not work when connected via both of the 2 usb hubs i have available.
It does work when the usb keyboard is plugged in directly on the one usb port the rpi3a+ has, but only when it is plugged in during start of the rpi not when hotplugging.

Am i unlucky to have 2 usb hubs that dont get recognized? Or is the rpi3a+ still to new?

The Pi 3A+ is still only a few weeks old so we haven't done much with it yet other than to add detection of it and run some standard tests to make sure all the normal functionality works.

We just tested our 3A+ with a keyboard connected directly and with a keyboard connected via a USB 2.0 hub and also via a USB 3.0 hub and it works in all cases regardless of whether we connect it before or after boot.

That isn't definitive because there are a lot of different keyboards and hubs around, it just confirms that it isn't a problem for all devices.

mvdhoning wrote:What steps can i try next?

These can be tricky to figure out but if you are willing to do some testing it would be nice to see if we can work out what is happening.

The first step would be to post the descriptor information from lsusb on Linux for both the keyboard and the hubs so we can see if there is anything different about them to the ones we have.

After that we have some test code that we used to diagnose the problem we had originally where connecting more than one low or full speed USB device to the same hub would fail and an even earlier problem with connecting low and full speed devices directly to the old Pi A+, this outputs a lot of information from the DWCOTG driver to the screen to help with understanding the failures.

We'll try to test some other keyboards as well while we wait to see your results from lsusb and put the test code into an example we can post here.

Out of interest have you tried any other devices like USB flash drives to see if they work?

mvdhoning wrote:PS way back in time i tried using freepascal on rpi directly with help of dwelch his examples: https://github.com/mvdhoning/fprpbm/ now i can just use ultibo :-)

Yes, we saw and tried your work when we first started looking at the RPi, thank you for sharing it :D
Ultibo.org | Make something amazing
https://ultibo.org
User avatar
mvdhoning
Posts: 11
Joined: Thu Dec 06, 2018 6:51 pm
Contact:

Re: usb keyboard via hub on rpi 3a+

Postby mvdhoning » Fri Dec 07, 2018 6:39 pm

lsusb:

Code: Select all

Bus 001 Device 004: ID 05e3:0751 Genesys Logic, Inc.
Bus 001 Device 005: ID 054c:005c Sony Corp.
Bus 001 Device 003: ID 054c:005d Sony Corp.
Bus 001 Device 002: ID 214b:7250 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsusb -t

Code: Select all

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/2p, 12M
            |__ Port 1: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 4: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M

dmesg:

Code: Select all

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.79-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1159 SMP Sun Nov 4 17:50:20 GMT 2018
[    0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Raspberry Pi 3 Model A Plus Rev 1.0
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 8 MiB at 0x1b400000
[    0.000000] On node 0 totalpages: 114688
[    0.000000] free_area_init_node: node 0, pgdat 80c85280, node_mem_map 9b010000
[    0.000000]   Normal zone: 1008 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 114688 pages, LIFO batch:31
[    0.000000] percpu: Embedded 17 pages/cpu @9bf94000 s38720 r8192 d22720 u69632
[    0.000000] pcpu-alloc: s38720 r8192 d22720 u69632 alloc=17*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 113680
[    0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=1440 bcm2708_fb.fbheight=900 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 433124K/458752K available (7168K kernel code, 576K rwdata, 2076K rodata, 1024K init, 698K bss, 17436K reserved, 8192K cma-reserved)
[    0.000000] Virtual kernel memory layout:
                   vector  : 0xffff0000 - 0xffff1000   (   4 kB)
                   fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
                   vmalloc : 0x9c800000 - 0xff800000   (1584 MB)
                   lowmem  : 0x80000000 - 0x9c000000   ( 448 MB)
                   modules : 0x7f000000 - 0x80000000   (  16 MB)
                     .text : 0x80008000 - 0x80800000   (8160 kB)
                     .init : 0x80b00000 - 0x80c00000   (1024 kB)
                     .data : 0x80c00000 - 0x80c9017c   ( 577 kB)
                      .bss : 0x80c97f04 - 0x80d468b0   ( 699 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 25287 entries in 75 pages
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000007] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000023] Switching to timer-based delay loop, resolution 52ns
[    0.000276] Console: colour dummy device 80x30
[    0.000809] console [tty1] enabled
[    0.000847] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000887] pid_max: default: 32768 minimum: 301
[    0.001217] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001247] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.002206] Disabling memory control group subsystem
[    0.002301] CPU: Testing write buffer coherency: ok
[    0.002733] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.003152] Setting up static identity map for 0x100000 - 0x10003c
[    0.003290] Hierarchical SRCU implementation.
[    0.003984] smp: Bringing up secondary CPUs ...
[    0.004785] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.005623] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.006440] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.006546] smp: Brought up 1 node, 4 CPUs
[    0.006619] SMP: Total of 4 processors activated (153.60 BogoMIPS).
[    0.006640] CPU: All CPU(s) started in HYP mode.
[    0.006658] CPU: Virtualization extensions available.
[    0.007518] devtmpfs: initialized
[    0.017678] random: get_random_u32 called from bucket_table_alloc+0xfc/0x24c with crng_init=0
[    0.018358] VFP support v0.3: implementor 41 architecture 3 part 40 variant 3 rev 4
[    0.018604] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.018648] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.019230] pinctrl core: initialized pinctrl subsystem
[    0.020039] NET: Registered protocol family 16
[    0.022634] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[    0.027413] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.027446] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.027666] Serial: AMBA PL011 UART driver
[    0.029352] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[    0.029825] uart-pl011 3f201000.serial: could not find pctldev for node /soc/gpio@7e200000/uart0_pins, deferring probe
[    0.061287] bcm2835-dma 3f007000.dma: DMA legacy API manager at 9c813000, dmachans=0x1
[    0.062737] SCSI subsystem initialized
[    0.062977] usbcore: registered new interface driver usbfs
[    0.063047] usbcore: registered new interface driver hub
[    0.063147] usbcore: registered new device driver usb
[    0.070074] raspberrypi-firmware soc:firmware: Attached to firmware from 2018-11-04 16:31
[    0.071397] clocksource: Switched to clocksource arch_sys_counter
[    0.148646] VFS: Disk quotas dquot_6.6.0
[    0.148762] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.148967] FS-Cache: Loaded
[    0.149183] CacheFiles: Loaded
[    0.158081] NET: Registered protocol family 2
[    0.158823] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.158904] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.159018] TCP: Hash tables configured (established 4096 bind 4096)
[    0.159138] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.159183] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.159412] NET: Registered protocol family 1
[    0.159885] RPC: Registered named UNIX socket transport module.
[    0.159909] RPC: Registered udp transport module.
[    0.159929] RPC: Registered tcp transport module.
[    0.159948] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.161503] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 7 counters available
[    0.164232] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    0.172227] FS-Cache: Netfs 'nfs' registered for caching
[    0.172851] NFS: Registering the id_resolver key type
[    0.172895] Key type id_resolver registered
[    0.172915] Key type id_legacy registered
[    0.172943] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.174891] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.175046] io scheduler noop registered
[    0.175068] io scheduler deadline registered (default)
[    0.175255] io scheduler cfq registered
[    0.175277] io scheduler mq-deadline registered
[    0.175297] io scheduler kyber registered
[    0.177621] BCM2708FB: allocated DMA memory db500000
[    0.177666] BCM2708FB: allocated DMA channel 0 @ 9c813000
[    0.214144] Console: switching to colour frame buffer device 180x56
[    0.236531] bcm2835-rng 3f104000.rng: hwrng registered
[    0.236810] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    0.237504] vc-sm: Videocore shared memory driver
[    0.237917] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
[    0.247723] brd: module loaded
[    0.256702] loop: module loaded
[    0.256839] Loading iSCSI transport class v2.0-870.
[    0.257642] libphy: Fixed MDIO Bus: probed
[    0.257866] usbcore: registered new interface driver lan78xx
[    0.258089] usbcore: registered new interface driver smsc95xx
[    0.258266] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    0.286330] dwc_otg 3f980000.usb: base=0xf0980000
[    0.486668] Core Release: 2.80a
[    0.486775] Setting default values for core params
[    0.486942] Finished setting default values for core params
[    0.687347] Using Buffer DMA mode
[    0.687453] Periodic Transfer Interrupt Enhancement - disabled
[    0.687618] Multiprocessor Interrupt Enhancement - disabled
[    0.687779] OTG VER PARAM: 0, OTG VER FLAG: 0
[    0.687911] Dedicated Tx FIFOs mode
[    0.688431] WARN::dwc_otg_hcd_init:1046: FIQ DMA bounce buffers: virt = 0x9b514000 dma = 0xdb514000 len=9024
[    0.694640] FIQ FSM acceleration enabled for :
               Non-periodic Split Transactions
               Periodic Split Transactions
               High-Speed Isochronous Endpoints
               Interrupt/Control Split Transaction hack enabled
[    0.724624] dwc_otg: Microframe scheduler enabled
[    0.724677] WARN::hcd_init_fiq:459: FIQ on core 1 at 0x805ea470
[    0.730652] WARN::hcd_init_fiq:460: FIQ ASM at 0x805ea7d8 length 36
[    0.736572] WARN::hcd_init_fiq:486: MPHI regs_base at 0xf0006000
[    0.742549] dwc_otg 3f980000.usb: DWC OTG Controller
[    0.748501] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
[    0.754611] dwc_otg 3f980000.usb: irq 62, io mem 0x00000000
[    0.760696] Init: Port Power? op_state=1
[    0.766683] Init: Power Port (0)
[    0.772729] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.778656] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.784572] usb usb1: Product: DWC OTG Controller
[    0.790444] usb usb1: Manufacturer: Linux 4.14.79-v7+ dwc_otg_hcd
[    0.796378] usb usb1: SerialNumber: 3f980000.usb
[    0.802922] hub 1-0:1.0: USB hub found
[    0.808826] hub 1-0:1.0: 1 port detected
[    0.815137] dwc_otg: FIQ enabled
[    0.815142] dwc_otg: NAK holdoff enabled
[    0.815147] dwc_otg: FIQ split-transaction FSM enabled
[    0.815156] Module dwc_common_port init
[    0.815395] usbcore: registered new interface driver usb-storage
[    0.821343] mousedev: PS/2 mouse device common for all mice
[    0.827233] IR NEC protocol handler initialized
[    0.833068] IR RC5(x/sz) protocol handler initialized
[    0.838908] IR RC6 protocol handler initialized
[    0.844794] IR JVC protocol handler initialized
[    0.850632] IR Sony protocol handler initialized
[    0.856461] IR SANYO protocol handler initialized
[    0.862341] IR Sharp protocol handler initialized
[    0.868076] IR MCE Keyboard/mouse protocol handler initialized
[    0.873857] IR XMP protocol handler initialized
[    0.880227] bcm2835-wdt 3f100000.watchdog: Broadcom BCM2835 watchdog timer
[    0.886210] bcm2835-cpufreq: min=600000 max=1400000
[    0.892217] sdhci: Secure Digital Host Controller Interface driver
[    0.897836] sdhci: Copyright(c) Pierre Ossman
[    0.903847] mmc-bcm2835 3f300000.mmc: could not get clk, deferring probe
[    0.909906] sdhost-bcm2835 3f202000.mmc: could not get clk, deferring probe
[    0.915814] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.923170] ledtrig-cpu: registered to indicate activity on CPUs
[    0.929201] hidraw: raw HID events driver (C) Jiri Kosina
[    0.935328] usbcore: registered new interface driver usbhid
[    0.941235] usbhid: USB HID core driver
[    0.947797] vchiq: vchiq_init_state: slot_zero = 9b580000, is_master = 0
[    0.955349] [vc_sm_connected_init]: start
[    0.966217] [vc_sm_connected_init]: end - returning 0
[    0.972801] Initializing XFRM netlink socket
[    0.978699] NET: Registered protocol family 17
[    0.984645] Key type dns_resolver registered
[    0.990877] Registering SWP/SWPB emulation handler
[    0.997358] registered taskstats version 1
[    1.008968] uart-pl011 3f201000.serial: cts_event_workaround enabled
[    1.014839] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
[    1.022622] mmc-bcm2835 3f300000.mmc: mmc_debug:0 mmc_debug2:0
[    1.028560] mmc-bcm2835 3f300000.mmc: DMA channel allocated
[    1.031541] Indeed it is in host mode hprt0 = 00021501
[    1.092090] sdhost: log_buf @ 9b513000 (db513000)
[    1.119413] random: fast init done
[    1.139439] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[    1.146948] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.154356] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.162914] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[    1.181420] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[    1.188072] of_cfs_init
[    1.193826] of_cfs_init: OK
[    1.199936] Waiting for root device /dev/mmcblk0p7...
[    1.241426] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    1.241598] Indeed it is in host mode hprt0 = 00001101
[    1.277439] mmc1: new high speed SDIO card at address 0001
[    1.342543] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.352054] mmc0: new high speed SDHC card at address aaaa
[    1.358314] mmcblk0: mmc0:aaaa SC16G 14.8 GiB
[    1.371075]  mmcblk0: p1 p2 < p5 p6 p7 >
[    1.392012] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. Opts: (null)
[    1.397965] VFS: Mounted root (ext4 filesystem) readonly on device 179:7.
[    1.414493] devtmpfs: mounted
[    1.423734] Freeing unused kernel memory: 1024K
[    1.481903] usb 1-1: New USB device found, idVendor=214b, idProduct=7250
[    1.488139] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    1.494363] usb 1-1: Product: USB2.0 HUB
[    1.501253] hub 1-1:1.0: USB hub found
[    1.507537] hub 1-1:1.0: 4 ports detected
[    1.816491] systemd[1]: System time before build time, advancing clock.
[    1.831451] usb 1-1.1: new full-speed USB device number 3 using dwc_otg
[    1.923103] NET: Registered protocol family 10
[    1.930288] Segment Routing with IPv6
[    1.948492] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.966147] usb 1-1.1: New USB device found, idVendor=054c, idProduct=005d
[    1.972404] usb 1-1.1: New USB device strings: Mfr=3, Product=1, SerialNumber=0
[    1.975498] random: systemd: uninitialized urandom read (16 bytes read)
[    1.984713] usb 1-1.1: Product: SCE USB Keyboard Hub
[    1.984723] usb 1-1.1: Manufacturer: Sony Computer Entertainment Inc.
[    1.987455] hub 1-1.1:1.0: USB hub found
[    1.988004] hub 1-1.1:1.0: 2 ports detected
[    2.012859] systemd[1]: systemd 232 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
[    2.026334] systemd[1]: Detected architecture arm.
[    2.061249] systemd[1]: Set hostname to <raspberrypi>.
[    2.079170] random: systemd: uninitialized urandom read (16 bytes read)
[    2.081438] usb 1-1.4: new high-speed USB device number 4 using dwc_otg
[    2.092395] systemd[1]: Initializing machine ID from random generator.
[    2.099043] systemd[1]: Installed transient /etc/machine-id file.
[    2.135117] random: systemd: uninitialized urandom read (16 bytes read)
[    2.215091] usb 1-1.4: New USB device found, idVendor=05e3, idProduct=0751
[    2.221980] usb 1-1.4: New USB device strings: Mfr=3, Product=4, SerialNumber=0
[    2.228759] usb 1-1.4: Product: USB Storage
[    2.235458] usb 1-1.4: Manufacturer: USB Storage
[    2.243554] usb-storage 1-1.4:1.0: USB Mass Storage device detected
[    2.252567] scsi host0: usb-storage 1-1.4:1.0
[    2.321453] usb 1-1.1.1: new full-speed USB device number 5 using dwc_otg
[    2.466147] usb 1-1.1.1: New USB device found, idVendor=054c, idProduct=005c
[    2.473305] usb 1-1.1.1: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[    2.480461] usb 1-1.1.1: Product: SCE USB Keyboard
[    2.487569] usb 1-1.1.1: Manufacturer: Sony Computer Entertainment Inc.
[    2.500982] input: Sony Computer Entertainment Inc. SCE USB Keyboard as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/0003:054C:005C.0001/input/input0
[    2.531912] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    2.548226] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[    2.564464] systemd[1]: Listening on Journal Socket.
[    2.581185] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    2.582169] hid-generic 0003:054C:005C.0001: input,hidraw0: USB HID v1.00 Keyboard [Sony Computer Entertainment Inc. SCE USB Keyboard] on usb-3f980000.usb-1.1.1/input0
[    2.606199] systemd[1]: Listening on udev Kernel Socket.
[    3.272961] scsi 0:0:0:0: Direct-Access     Generic  STORAGE DEVICE   1404 PQ: 0 ANSI: 6
[    3.482781] sd 0:0:0:0: [sda] Attached SCSI removable disk
[    3.508862] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    5.874017] EXT4-fs (mmcblk0p7): re-mounted. Opts: (null)
[    5.967961] systemd-journald[107]: Received request to flush runtime journal from PID 1
[    6.479301] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[    6.484047] bcm2835_alsa bcm2835_alsa: card created with 8 channels
[    6.694690] brcmfmac: F1 signature read @0x18000000=0x15264345
[    6.714452] brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43455-sdio.bin for chip 0x004345(17221) rev 0x000006
[    6.716034] usbcore: registered new interface driver brcmfmac
[    7.125099] random: crng init done
[    7.125115] random: 7 urandom warning(s) missed due to ratelimiting
[    7.126556] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Feb 27 2018 03:15:32 version 7.45.154 (r684107 CY) FWID 01-4fbe0b04
[    7.127173] brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 9.10.105 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2018-03-09 18:56:28
[    8.300928] uart-pl011 3f201000.serial: no DMA platform data
[    8.607843] Adding 102396k swap on /var/swap.  Priority:-2 extents:1 across:102396k SSFS
[    8.916624] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[    8.916643] brcmfmac: power management disabled
[   12.161105] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   14.882486] Bluetooth: Core ver 2.22
[   14.882573] NET: Registered protocol family 31
[   14.882576] Bluetooth: HCI device and connection manager initialized
[   14.883374] Bluetooth: HCI socket layer initialized
[   14.883387] Bluetooth: L2CAP socket layer initialized
[   14.883417] Bluetooth: SCO socket layer initialized
[   14.893788] Bluetooth: HCI UART driver ver 2.3
[   14.893797] Bluetooth: HCI UART protocol H4 registered
[   14.893799] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   14.893905] Bluetooth: HCI UART protocol Broadcom registered
[   15.068517] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   15.068526] Bluetooth: BNEP filters: protocol multicast
[   15.068539] Bluetooth: BNEP socket layer initialized
User avatar
mvdhoning
Posts: 11
Joined: Thu Dec 06, 2018 6:51 pm
Contact:

Re: usb keyboard via hub on rpi 3a+

Postby mvdhoning » Fri Dec 07, 2018 6:44 pm

The usb hub i use has 3 ports and also a sdcard reader part that shows up as usb storage.
I fear my keyboard has an build in usb hub and the keyboard itself is connected trough that usb hub also (did not realize that, but makes sense).
So in the end my keyboard goes trough 2 hubs, maybe ultibo stops searching at the first hub? (or is that 3 making the pi port usb hub 0)

For a programming challenge is there a way to do inside ultibo what lsusb does? I know usb.pas should hold all usb related things but i should take a better look at it if there are functions to walk trought the usb devices. But i am open for hints as in: try to use functions x and y and ...
User avatar
Ultibo
Site Admin
Posts: 2079
Joined: Sat Dec 19, 2015 3:49 am
Location: Australia

Re: usb keyboard via hub on rpi 3a+

Postby Ultibo » Fri Dec 07, 2018 11:20 pm

mvdhoning wrote:

Code: Select all

Bus 001 Device 004: ID 05e3:0751 Genesys Logic, Inc.
Bus 001 Device 005: ID 054c:005c Sony Corp.
Bus 001 Device 003: ID 054c:005d Sony Corp.
Bus 001 Device 002: ID 214b:7250 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


Thanks for that, can you also provide the output of the following:

Code: Select all

lsusb -d 214b:7250 -v
lsusb -d 054c:005d -v
lsusb -d 054c:005c -v

which should give the complete descriptor information for each of those devices.

mvdhoning wrote:The usb hub i use has 3 ports and also a sdcard reader part that shows up as usb storage.
I fear my keyboard has an build in usb hub and the keyboard itself is connected trough that usb hub also (did not realize that, but makes sense).
So in the end my keyboard goes trough 2 hubs, maybe ultibo stops searching at the first hub? (or is that 3 making the pi port usb hub 0)

USB hubs can be cascaded and Ultibo supports multiple hubs chained together, you will run into the physical limits of USB before you reach the limit of Ultibo.

Your output from lsusb -t does give an interesting piece of information and the complete descriptors will hopefully provide more details:

Code: Select all

    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/2p, 12M
            |__ Port 1: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M

From this it looks like the hub in your keyboard is a USB 1.1 (Full speed) device and I'm pretty sure this is a combination we have not tested (because we don't have a USB 1.1 hub).

I'll need to look at the USB specs to check the exact behavior in this case but from memory the USB 2.0 hub (Port 1: Dev 2) should be acting as the transaction translator for all requests to the keyboard and its built in hub (Port 1, Dev 3 and 5).

USB split transactions using a transaction translator are one of the more complex elements of the USB protocol and an area where things can go wrong especially if the devices don't quite agree on the way things should be done but if we can work out what should be happening in this case then it might be possible to resolve it quite simply.

mvdhoning wrote:For a programming challenge is there a way to do inside ultibo what lsusb does? I know usb.pas should hold all usb related things but i should take a better look at it if there are functions to walk trought the usb devices. But i am open for hints as in: try to use functions x and y and ...

Yes, have a look at the USBLogDevices function in the USB unit, it does something similar to lsusb. At some point we'll create a shell command that does this but you should be able to adapt what this function does to produce the output you want.
Ultibo.org | Make something amazing
https://ultibo.org
User avatar
mvdhoning
Posts: 11
Joined: Thu Dec 06, 2018 6:51 pm
Contact:

Re: usb keyboard via hub on rpi 3a+

Postby mvdhoning » Sat Dec 08, 2018 11:30 am

lsusb -d 214b:7250 -v

Code: Select all

Bus 001 Device 002: ID 214b:7250 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x214b
  idProduct          0x7250
  bcdDevice            1.00
  iManufacturer           0
  iProduct                1
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      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


lsusb -d 054c:005d -v

Code: Select all

Bus 001 Device 003: ID 054c:005d Sony Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0         8
  idVendor           0x054c Sony Corp.
  idProduct          0x005d
  bcdDevice            0.01
  iManufacturer           3
  iProduct                1
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          2
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              2
      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             255


lsusb -d 054c:005c -v

Code: Select all

Bus 001 Device 005: ID 054c:005c Sony Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x054c Sony Corp.
  idProduct          0x005c
  bcdDevice            0.01
  iManufacturer           3
  iProduct                2
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          2
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              2
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode           32 UK
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10


more 'magic' usb dumps for you

will have a go at the code later today
User avatar
Ultibo
Site Admin
Posts: 2079
Joined: Sat Dec 19, 2015 3:49 am
Location: Australia

Re: usb keyboard via hub on rpi 3a+

Postby Ultibo » Sat Dec 08, 2018 10:41 pm

mvdhoning wrote:more 'magic' usb dumps for you

Perfect, thank you.

Two more questions:

Do you have any other model of Pi to test with to compare your results?

Have you tried plugging in and unplugging the keyboard multiple times to determine if the problem occurs every time or is intermittent?

The reason I ask is because we found a wireless keyboard that when plugged into the 3A+ either directly or via a hub fails to initialize about 1 out of every 4 times. It doesn't happen with any other model Pi that we tried and it only happens intermittently.
Ultibo.org | Make something amazing
https://ultibo.org
User avatar
mvdhoning
Posts: 11
Joined: Thu Dec 06, 2018 6:51 pm
Contact:

Re: usb keyboard via hub on rpi 3a+

Postby mvdhoning » Sun Dec 09, 2018 12:02 pm

As repetitive as i am unplugging and replugging keyboard and or hub does not help for my situation.

I will try another pi later, but they are build into other projects so that is going to be a bit of a hassle.

I managed to make an usbdump to file thingy and here is the output with only the keyboard attached from ultibo on my rpi3a+:

Code: Select all

[USB Device 1]
    [Device Descriptor]
    bLength:             18
    bDescriptorType:     01 (Device)
    bcdUSB:              200 (USB 2.0 compliant)
    bDeviceClass:        09 (Hub)
    bDeviceSubClass:     00 (Unknown)
    bDeviceProtocol:     00 (Unknown)
    bMaxPacketSize0:     64
    idVendor:            0000
    idProduct:           0000
    iManufacturer:       2
        (Ultibo)
    iProduct:            1
        (USB 2.0 Root Hub)
    iSerialNumber:       0
    bNumConfigurations:  1

        [Configuration Descriptor]
        bLength:             9
        bDescriptorType:     02 (Configuration)
        wTotalLength:        25
        bNumInterfaces:      1
        bConfigurationValue: 1
        iConfiguration:      0
        bmAttributes:        C0
            (Self powered)
        bMaxPower:           0 (0 mA)

            [Interface Descriptor]
            bLength:             9
            bDescriptorType:     04 (Interface)
            bInterfaceNumber:    0
            bAlternateSetting:   0
            bNumEndpoints:       1
            bInterfaceClass:     09 (Hub)
            bInterfaceSubClass:  00 (Unknown)
            bInterfaceProtocol:  00 (Unknown)
            iInterface:          0

                [Endpoint Descriptor]
                bLength:             7
                bDescriptorType:     05 (Endpoint)
                bEndpointAddress:    81 (Number 1, IN)
                bmAttributes:        03 (Interrupt endpoint)
                wMaxPacketSize:      0040 (Max packet size 64 bytes)
                bInterval:           255


[USB Device 2]
    [Device Descriptor]
    bLength:             18
    bDescriptorType:     01 (Device)
    bcdUSB:              110 (USB 1.1 compliant)
    bDeviceClass:        09 (Hub)
    bDeviceSubClass:     00 (Unknown)
    bDeviceProtocol:     00 (Unknown)
    bMaxPacketSize0:     8
    idVendor:            054C
    idProduct:           005D
    iManufacturer:       3
        (Sony Computer Entertainment Inc.)
    iProduct:            1
        (SCE USB Keyboard Hub)
    iSerialNumber:       0
    bNumConfigurations:  1

        [Configuration Descriptor]
        bLength:             9
        bDescriptorType:     02 (Configuration)
        wTotalLength:        25
        bNumInterfaces:      1
        bConfigurationValue: 1
        iConfiguration:      2
        bmAttributes:        A0
            (Remote wakeup)
        bMaxPower:           50 (100 mA)

            [Interface Descriptor]
            bLength:             9
            bDescriptorType:     04 (Interface)
            bInterfaceNumber:    0
            bAlternateSetting:   0
            bNumEndpoints:       1
            bInterfaceClass:     09 (Hub)
            bInterfaceSubClass:  00 (Unknown)
            bInterfaceProtocol:  00 (Unknown)
            iInterface:          2

                [Endpoint Descriptor]
                bLength:             7
                bDescriptorType:     05 (Endpoint)
                bEndpointAddress:    81 (Number 1, IN)
                bmAttributes:        03 (Interrupt endpoint)
                wMaxPacketSize:      0001 (Max packet size 1 bytes)
                bInterval:           255


[USB Device 3]
    [Device Descriptor]
    bLength:             18
    bDescriptorType:     01 (Device)
    bcdUSB:              110 (USB 1.1 compliant)
    bDeviceClass:        00 (None (see interface descriptors))
    bDeviceSubClass:     00 (Unknown)
    bDeviceProtocol:     00 (Unknown)
    bMaxPacketSize0:     8
    idVendor:            054C
    idProduct:           005C
    iManufacturer:       3
        (Sony Computer Entertainment Inc.)
    iProduct:            2
        (SCE USB Keyboard)
    iSerialNumber:       0
    bNumConfigurations:  1

        [Configuration Descriptor]
        bLength:             9
        bDescriptorType:     02 (Configuration)
        wTotalLength:        34
        bNumInterfaces:      1
        bConfigurationValue: 1
        iConfiguration:      2
        bmAttributes:        A0
            (Remote wakeup)
        bMaxPower:           50 (100 mA)

            [Interface Descriptor]
            bLength:             9
            bDescriptorType:     04 (Interface)
            bInterfaceNumber:    0
            bAlternateSetting:   0
            bNumEndpoints:       1
            bInterfaceClass:     03 (HID (Human Interface Device))
            bInterfaceSubClass:  01 (Unknown)
            bInterfaceProtocol:  01 (Unknown)
            iInterface:          2

                [Endpoint Descriptor]
                bLength:             7
                bDescriptorType:     05 (Endpoint)
                bEndpointAddress:    81 (Number 1, IN)
                bmAttributes:        03 (Interrupt endpoint)
                wMaxPacketSize:      0008 (Max packet size 8 bytes)
                bInterval:           10



Diagram of USB:

1 [high-speed USB 2.0 Hub class device (USB 2.0 Root Hub) (idVendor=0000 idProduct=0000)]
|
|
------2 [full-speed USB 1.1 Hub class device (SCE USB Keyboard Hub) (idVendor=054C idProduct=005D)]
      |
      |
      ------3 [full-speed USB 1.1 HID (Human Interface Device) class device (SCE USB Keyboard) (idVendor=054C idProduct=005C)]


That is an always working situation only attaching the keyboard directly to the rpi.

Doing this with the keyboard attached trough the usb hub only makes a partial dump and then freezes halfway the dump. So no txt file for that one.
(The combo usb hub and keyboard does work in linux.) So here is a screenshot of that situation:
Attachments
usbdumpfrozen.jpg
usb dump frozen with usb hub and keyboard
usbdumpfrozen.jpg (61.75 KiB) Viewed 112 times
User avatar
mvdhoning
Posts: 11
Joined: Thu Dec 06, 2018 6:51 pm
Contact:

Re: usb keyboard via hub on rpi 3a+

Postby mvdhoning » Sun Dec 09, 2018 1:03 pm

Tried the hub and keyboard combo on the rpi3b+ and get the same not working result.
On both the rpi3a+ and rpi3b+ with only the usb hub attached the dump freezes.
Cannot test this on my rpi2 or my rpi1 (broken/lent out). But i blame the usb hub and not the rpi revision.
The usb hub however does work under linux. Somehow the usb makes the usb part in ultibo freeze when trying to access it?

More info on hub 1 :
https://www.maxxter.biz/item.aspx?id=10100

lsusb -d 05e3:0751 -v (hmm storage part of hub?)

Code: Select all

Bus 001 Device 004: ID 05e3:0751 Genesys Logic, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x05e3 Genesys Logic, Inc.
  idProduct          0x0751
  bcdDevice           14.04
  iManufacturer           3
  iProduct                4
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower               98mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Last edited by mvdhoning on Sun Dec 09, 2018 1:59 pm, edited 2 times in total.
User avatar
mvdhoning
Posts: 11
Joined: Thu Dec 06, 2018 6:51 pm
Contact:

Re: usb keyboard via hub on rpi 3a+

Postby mvdhoning » Sun Dec 09, 2018 1:11 pm

Did some more testing with hub 2:
vivanco https://www.amazon.co.uk/Vivanco-2-0-Hu ... B000VSDIC8

dump with keyboard attached (numlock led comes on keyboard does not work)

Code: Select all

[USB Device 1]
    [Device Descriptor]
    bLength:             18
    bDescriptorType:     01 (Device)
    bcdUSB:              200 (USB 2.0 compliant)
    bDeviceClass:        09 (Hub)
    bDeviceSubClass:     00 (Unknown)
    bDeviceProtocol:     00 (Unknown)
    bMaxPacketSize0:     64
    idVendor:            0000
    idProduct:           0000
    iManufacturer:       2
        (Ultibo)
    iProduct:            1
        (USB 2.0 Root Hub)
    iSerialNumber:       0
    bNumConfigurations:  1

        [Configuration Descriptor]
        bLength:             9
        bDescriptorType:     02 (Configuration)
        wTotalLength:        25
        bNumInterfaces:      1
        bConfigurationValue: 1
        iConfiguration:      0
        bmAttributes:        C0
            (Self powered)
        bMaxPower:           0 (0 mA)

            [Interface Descriptor]
            bLength:             9
            bDescriptorType:     04 (Interface)
            bInterfaceNumber:    0
            bAlternateSetting:   0
            bNumEndpoints:       1
            bInterfaceClass:     09 (Hub)
            bInterfaceSubClass:  00 (Unknown)
            bInterfaceProtocol:  00 (Unknown)
            iInterface:          0

                [Endpoint Descriptor]
                bLength:             7
                bDescriptorType:     05 (Endpoint)
                bEndpointAddress:    81 (Number 1, IN)
                bmAttributes:        03 (Interrupt endpoint)
                wMaxPacketSize:      0040 (Max packet size 64 bytes)
                bInterval:           255


[USB Device 2]
    [Device Descriptor]
    bLength:             18
    bDescriptorType:     01 (Device)
    bcdUSB:              200 (USB 2.0 compliant)
    bDeviceClass:        09 (Hub)
    bDeviceSubClass:     00 (Unknown)
    bDeviceProtocol:     01 (Unknown)
    bMaxPacketSize0:     64
    idVendor:            05E3
    idProduct:           0608
    iManufacturer:       0
    iProduct:            1
        (USB2.0 Hub)
    iSerialNumber:       0
    bNumConfigurations:  1

        [Configuration Descriptor]
        bLength:             9
        bDescriptorType:     02 (Configuration)
        wTotalLength:        25
        bNumInterfaces:      1
        bConfigurationValue: 1
        iConfiguration:      0
        bmAttributes:        E0
            (Self powered)
            (Remote wakeup)
        bMaxPower:           50 (100 mA)

            [Interface Descriptor]
            bLength:             9
            bDescriptorType:     04 (Interface)
            bInterfaceNumber:    0
            bAlternateSetting:   0
            bNumEndpoints:       1
            bInterfaceClass:     09 (Hub)
            bInterfaceSubClass:  00 (Unknown)
            bInterfaceProtocol:  00 (Unknown)
            iInterface:          0

                [Endpoint Descriptor]
                bLength:             7
                bDescriptorType:     05 (Endpoint)
                bEndpointAddress:    81 (Number 1, IN)
                bmAttributes:        03 (Interrupt endpoint)
                wMaxPacketSize:      0001 (Max packet size 1 bytes)
                bInterval:           12



Diagram of USB:

1 [high-speed USB 2.0 Hub class device (USB 2.0 Root Hub) (idVendor=0000 idProduct=0000)]
|
|
------2 [high-speed USB 2.0 Hub class device (USB2.0 Hub) (idVendor=05E3 idProduct=0608)]


With this one unplugging and replugging the usb keyboard helps a bit as sometimes i get a working keyboard for about 5-10 seconds and then it is 'dead' again.

lsusb

Code: Select all

Bus 001 Device 005: ID 054c:005c Sony Corp.
Bus 001 Device 004: ID 054c:005d Sony Corp.
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


lsusb -t

Code: Select all

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 3: Dev 3, If 0, Class=Hub, Driver=hub/2p, 12M
            |__ Port 1: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M


lsusb -d 05e3:0608 -v

Code: Select all


Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x05e3 Genesys Logic, Inc.
  idProduct          0x0608 Hub
  bcdDevice            7.02
  iManufacturer           0
  iProduct                1
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      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

Return to “Discussion”

Who is online

Users browsing this forum: No registered users and 2 guests