Nokia N900: musb is in wrong state after boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

when I boot 4.4.0-rc7+ kernel compiled with g_nokia into zImage on Nokia 
N900 into userspace then usb gadget (g_nokia) does not work. Notebook, 
connected on other side does not see any usb device... Connecting and 
disconnecting cable does not change anything, still not work.

But if I run this command
$ echo peripheral > /sys/bus/platform/devices/musb-hdrc.0.auto/mode 

then gadget starts working. Other side see usb device and can use it. 
Also connecting and disconnecting usb cable working fine. After 
connecting it again, usb device OK.

So it looks like musb is in some wrong state after boot if above command 
is not called.

Any idea where is problem? In attachment is output from more musb sysfs 
entries (before and after calling that command) which I think could be 
useful. If you want to see more logs, let me know what.

Note that host mode on Nokia N900 does not work because of HW design. 
For 2.6.28 Nokia's kernel there are special and ugly (!) patches which 
enable host mode together with userspace interaction. So it does not 
make sense to have other than peripheral mode enabled by default on 
Nokia N900...

-- 
Pali Rohár
pali.rohar@xxxxxxxxx
Nokia-N900:~# grep "" /sys/bus/platform/devices/musb-hdrc.0.auto/*
/sys/bus/platform/devices/musb-hdrc.0.auto/driver_override:(null)
/sys/bus/platform/devices/musb-hdrc.0.auto/modalias:platform:musb-hdrc
/sys/bus/platform/devices/musb-hdrc.0.auto/mode:b_idle
/sys/bus/platform/devices/musb-hdrc.0.auto/uevent:DRIVER=musb-hdrc
/sys/bus/platform/devices/musb-hdrc.0.auto/uevent:MODALIAS=platform:musb-hdrc
/sys/bus/platform/devices/musb-hdrc.0.auto/vbus:Vbus on, timeout 1100 msec
Nokia-N900:~# grep "" /sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/*
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/a_alt_hnp_support:0
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/a_hnp_support:0
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/b_hnp_enable:0
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/current_speed:UNKNOWN
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/is_a_peripheral:0
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/is_otg:1
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/is_selfpowered:0
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/maximum_speed:high-speed
grep: /sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/soft_connect: Permission denied
grep: /sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/srp: Permission denied
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/state:not attached
Nokia-N900:~# cat /sys/kernel/debug/musb-hdrc.0.auto/regdump
MUSB (M)HDRC Register Dump
FAddr       : 00
Power       : a0
Frame       : 0000
Index       : 00
Testmode    : 00
TxMaxPp     : a000
TxCSRp      : 0000
RxMaxPp     : 0000
RxCSR       : ffff
RxCount     : fffe
IntrRxE     : fffe
IntrTxE     : ffff
IntrUsbE    : f7
DevCtl      : 98
VControl    : 00000000
HWVers      : 0000
LinkInfo    : 5c
VPLen       : 3c
HS_EOF1     : 80
FS_EOF1     : 77
LS_EOF1     : 72
SOFT_RST    : 00
DMA_CNTLch0 : 0000
DMA_ADDRch0 : 00000000
DMA_COUNTch0: 00000000
DMA_CNTLch1 : 0000
DMA_ADDRch1 : 00000000
DMA_COUNTch1: 00000000
DMA_CNTLch2 : 0000
DMA_ADDRch2 : 00000000
DMA_COUNTch2: 00000000
DMA_CNTLch3 : 0000
DMA_ADDRch3 : 00000000
DMA_COUNTch3: 00000000
DMA_CNTLch4 : 0000
DMA_ADDRch4 : 00000000
DMA_COUNTch4: 00000000
DMA_CNTLch5 : 0000
DMA_ADDRch5 : 00000000
DMA_COUNTch5: 00000000
DMA_CNTLch6 : 0000
DMA_ADDRch6 : 00000000
DMA_COUNTch6: 00000000
DMA_CNTLch7 : 0000
DMA_ADDRch7 : 00000000
DMA_COUNTch7: 00000000
ConfigData  : 00
BabbleCtl   : 00
TxFIFOsz    : 00
RxFIFOsz    : 00
TxFIFOadd   : 0000
RxFIFOadd   : 0000
EPInfo      : ff
RAMInfo     : 8c
Nokia-N900:~# cat /sys/kernel/debug/musb-hdrc.0.auto/softconnect
-1
Nokia-N900:~# cat /sys/kernel/debug/musb-hdrc.0.auto/testmode
Nokia-N900:~# 
Nokia-N900:~# 
Nokia-N900:~# echo peripheral > /sys/bus/platform/devices/musb-hdrc.0.auto/mode
Nokia-N900:~# 
Nokia-N900:~# 
Nokia-N900:~# 
Nokia-N900:~# grep "" /sys/bus/platform/devices/musb-hdrc.0.auto/*
/sys/bus/platform/devices/musb-hdrc.0.auto/driver_override:(null)
/sys/bus/platform/devices/musb-hdrc.0.auto/modalias:platform:musb-hdrc
/sys/bus/platform/devices/musb-hdrc.0.auto/mode:b_peripheral
/sys/bus/platform/devices/musb-hdrc.0.auto/uevent:DRIVER=musb-hdrc
/sys/bus/platform/devices/musb-hdrc.0.auto/uevent:MODALIAS=platform:musb-hdrc
/sys/bus/platform/devices/musb-hdrc.0.auto/vbus:Vbus on, timeout 1100 msec
Nokia-N900:~# grep "" /sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/*
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/a_alt_hnp_support:0
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/a_hnp_support:0
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/b_hnp_enable:0
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/current_speed:high-speed
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/is_a_peripheral:0
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/is_otg:1
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/is_selfpowered:0
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/maximum_speed:high-speed
grep: /sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/soft_connect: Permission denied
grep: /sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/srp: Permission denied
/sys/bus/platform/devices/musb-hdrc.0.auto/musb-hdrc.0.auto/state:configured
Nokia-N900:~# cat /sys/kernel/debug/musb-hdrc.0.auto/regdump
MUSB (M)HDRC Register Dump
FAddr       : 1f
Power       : f0
Frame       : 02dd
Index       : 00
Testmode    : 00
TxMaxPp     : f01f
TxCSRp      : 0000
RxMaxPp     : 0000
RxCSR       : ffff
RxCount     : fffe
IntrRxE     : fffe
IntrTxE     : ffff
IntrUsbE    : f7
DevCtl      : 99
VControl    : 00000000
HWVers      : 0000
LinkInfo    : 5c
VPLen       : 3c
HS_EOF1     : 80
FS_EOF1     : 77
LS_EOF1     : 72
SOFT_RST    : 00
DMA_CNTLch0 : 0000
DMA_ADDRch0 : 00000000
DMA_COUNTch0: 00000000
DMA_CNTLch1 : 0000
DMA_ADDRch1 : 00000000
DMA_COUNTch1: 00000000
DMA_CNTLch2 : 0000
DMA_ADDRch2 : 00000000
DMA_COUNTch2: 00000000
DMA_CNTLch3 : 0000
DMA_ADDRch3 : 00000000
DMA_COUNTch3: 00000000
DMA_CNTLch4 : 0000
DMA_ADDRch4 : 00000000
DMA_COUNTch4: 00000000
DMA_CNTLch5 : 0000
DMA_ADDRch5 : 00000000
DMA_COUNTch5: 00000000
DMA_CNTLch6 : 0000
DMA_ADDRch6 : 00000000
DMA_COUNTch6: 00000000
DMA_CNTLch7 : 0000
DMA_ADDRch7 : 00000000
DMA_COUNTch7: 00000000
ConfigData  : 00
BabbleCtl   : 00
TxFIFOsz    : 00
RxFIFOsz    : 00
TxFIFOadd   : 0000
RxFIFOadd   : 0000
EPInfo      : ff
RAMInfo     : 8c
Nokia-N900:~# cat /sys/kernel/debug/musb-hdrc.0.auto/softconnect
-1
Nokia-N900:~# cat /sys/kernel/debug/musb-hdrc.0.auto/testmode
Nokia-N900:~# 

Attachment: signature.asc
Description: This is a digitally signed message part.


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux