Reconhecimento do Kernel do estado alterado do USB, mas sem o feedback correto do status do USB de nível superior

4
$ dmesg | grep usb 

... mostra a mudança de status no USB ao conectar / desconectar

$ lsusb -v

lista o USB como um 'hub'

$ usb-devices

não me dá a saída desejada de:

T:  Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=06c2 ProdID=007b Rev=01.01
S:  Manufacturer=Phidgets Inc.
S:  Product=PhidgetStepper
S:  SerialNumber=267330
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=96mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid

... mas ao invés:

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 3
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=03.05
S:  Manufacturer=Linux 3.5.0-mt9v034+ ehci_hcd
S:  Product=OMAP-EHCI Host Controller
S:  SerialNumber=ehci-omap.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

Alguma idéia sobre o que pode ser a causa do kernel de baixo nível pegando as mudanças no USB ... mas sem identificação de nível mais alto do dispositivo (como com isso usb-devices)?

Também vale a pena notar que isso está tentando controlar um phidgets stepper, com uma instalação correta verificada no Linux por essas direções .

Na inicialização do host eu também recebo esse erro via dmesg:

[    0.152526] usbhs_omap usbhs_omap: xclk60mhsp2_ck set parentfailed error:-22

E esse novo comando acabei de encontrar:

$ hwinfo --usb

Acontece para dar uma saída cheia de erros:

hal.1: read hal dataprocess 1711: arguments to dbus_move_error() were incorrect, assertion "(dest) == NULL || !dbus_error_is_set ((dest))" failed in file ../../dbus/dbus-errors.c line 282.
This is normally a bug in some application using the D-Bus library.
libhal.c 3483 : Error unsubscribing to signals, error=The name org.freedesktop.Hal was not provided by any .service files
07: USB 00.0: 10a00 Hub                                         
[Created at usb.122]
Unique ID: k4bc.qEeA4IsuqFC
SysFS ID: /devices/platform/usbhs_omap/ehci-omap.0/usb1/1-0:1.0
SysFS BusID: 1-0:1.0
Hardware Class: hub
Model: "Linux 3.5.0-mt9v034+ ehci_hcd OMAP-EHCI Host Controller"
Hotplug: USB
Vendor: usb 0x1d6b "Linux 3.5.0-mt9v034+ ehci_hcd"
Device: usb 0x0002 "OMAP-EHCI Host Controller"
Revision: "3.05"
Serial ID: "ehci-omap.0"
Driver: "hub"
Driver Modules: "usbcore"
Speed: 480 Mbps
Module Alias: "usb:v1D6Bp0002d0305dc09dsc00dp00ic09isc00ip00"
Config Status: cfg=new, avail=yes, need=no, active=unknown

Editar:

Depois de instalar hal

$ sudo apt-get install hal

A saída de

$ hwinfo --usb

limpo:

07: USB 00.0: 10a00 Hub                                         
[Created at usb.122]
UDI: /org/freedesktop/Hal/devices/usb_device_1d6b_2_ehci_omap_0_if0
Unique ID: k4bc.qEeA4IsuqFC
SysFS ID: /devices/platform/usbhs_omap/ehci-omap.0/usb1/1-0:1.0
SysFS BusID: 1-0:1.0
Hardware Class: hub
Model: "Linux 3.5.0-mt9v034+ ehci_hcd OMAP-EHCI Host Controller"
Hotplug: USB
Vendor: usb 0x1d6b "Linux 3.5.0-mt9v034+ ehci_hcd"
Device: usb 0x0002 "OMAP-EHCI Host Controller"
Revision: "3.05"
Serial ID: "ehci-omap.0"
Driver: "hub"
Driver Modules: "usbcore"
Speed: 480 Mbps
Module Alias: "usb:v1D6Bp0002d0305dc09dsc00dp00ic09isc00ip00"
Config Status: cfg=new, avail=yes, need=no, active=unknown

Bootup também parece estar lançando um problema:

$ dmesg grep | USB

mostrando esses dois erros na inicialização:

[    0.067077]  usbhs_omap: alias fck already exists
...
[    0.152496] usbhs_omap usbhs_omap: xclk60mhsp2_ck set parentfailed error:-22

POR PEDIDO:

$ sudo uname -a
Linux statler 3.5.0-mt9v034+ #1 PREEMPT Thu May 30 22:23:53 UTC 2013 armv7l armv7l armv7l GNU/Linux

... e a saída de: $ sudo lsusb -v

https://gist.github.com/delinquentme/890532515002c503815e

Carl Crott
fonte

Respostas:

2

Seu USB está configurado no BIOS e no Linux para o modo herdado e / ou USB 3.0? Parece que ele pode estar tentando usar um dos dois ou enquanto ambos não estão configurados para isso.

Pesquisar o ID do fornecedor fornecido na saída hwinfo -usb sugere que o problema é que seu vídeo e / ou driver USB não estão configurados corretamente. Como você precisa que o EHCI para USB funcione corretamente, e isso mostra que o HAL está gerando erros, é seguro dizer que é de onde vêm os problemas com o USB.

Atualização: Parece que certas versões dessa placa podem não suportar USB 2.0 ou podem precisar ter suporte USB_OTG embutido. Eu encontrei algumas guias para a placa beagle que devem cobrir qualquer configuração que você possa ter, mas há muitas possibilidades de cobri-los todos aqui.

PS Se você estiver usando algo diferente, então um beagleboard ainda fornecerá uma boa informação para esse chip, mas é claro que você não vai querer passar nada dele diretamente para o seu dispositivo.

Para uma visão geral das diferenças entre alguns tipos de USB e o que eles podem ver: http://elinux.org/BeagleBoard#EHCI

Correções do uboot para placas com diferentes configurações de USB:
https://groups.google.com/forum/#!topic/beagleboard/2xhpUT2jzLE/discussion

Drivers Linux do núcleo Linux para OMAP:
http://cateee.net/lkddb/web-lkddb/MFD_OMAP_USB_HOST.html

Espero que isto ajude!

Jon
fonte
Você está pensando que esse é o problema baseado no erro? Que parte?
carl crott
Se você tiver dúvidas sobre a questão, por favor, considere deixar um comentário
50-3
usb-devices está mostrando seu controlador EHCI (USB 2.0) em vez do dispositivo (Ver 1.1). Como o hub EHCI usa apenas 2.0, ele deve permitir que outro controlador trabalhe com o dispositivo. A informação do hwinfo-usb parece estar se referindo ao seu driver gráfico? (mt9v034) TBH Eu não tenho certeza do que pensar sobre isso.
Jon
@ 50-3 Infelizmente não consigo adicionar comentários, não há representantes suficientes aqui ainda.
Jon
então eu tenho $ sudo apt-get install hal ... e a saída de $ hwinfo --usb foi limpa e agora não mostra nenhum erro, mas eu ainda não estou obtendo a saída desejada de $ lsusb
carl crott