On 4/10/09, Deepak Mundra <[email protected]> wrote:
>
> Dear All,
>
> In addition, i would like to attached a few debug prints associated
> with the scenario's described in my previous email:
> > A. When we boot through this kernel(with USB drivers as a kernel
> component):
> >   1. We see that the boot process detects the on board USB Hub, and
> > the boot process fails at the kernel IP-Config routines(the board is
> > configured
> >       to get an IP address through DHCP)
> >   2. The serial console does not seem to respond
> >   3. At this point, If we connect / dicsonnect  a USB Keyboard,Mouse
> > device, the driver prints the appropriate messages indicating that
> > these devices have been connected / disconnected.
>
> For this scenario, The boot up messages are like this :
> ;
> ;
> ;
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> musb_hdrc: version 6.0, cppi-dma, host, debug=0
> musb_hdrc: USB Host mode controller at c8000000 using DMA, IRQ 12
> musb_hdrc musb_hdrc: MUSB HDRC host driver
> musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
> usb usb1: configuration #1 chosen from 1 choice
> hub 1-0:1.0: USB hub found
> hub 1-0:1.0: 1 port detected
> ;
> ;
> More boot messages......
> ;
> 0x00050000-0x00250000 : "kernel"
> <5>0x00250000-0x01000000 : "filesystem"
> 0x00250000-0x01000000 : "filesystem"
> <5>usbmon: debugfs is not available
> usbmon: debugfs is not available
> <6>Initializing USB Mass Storage driver...
> Initializing USB Mass Storage driver...
> <6>usbcore: registered new interface driver usb-storage
> usbcore: registered new interface driver usb-storage
> <6>USB Mass Storage support registered.
> USB Mass Storage support registered.
> <6>mice: PS/2 mouse device common for all mice
> mice: PS/2 mouse device common for all mice
> <6>usbcore: registered new interface driver usbhid
> usbcore: registered new interface driver usbhid
> <6>drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
> drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
> <6>TCP cubic registered
> TCP cubic registered
> <6>NET: Registered protocol family 1
> NET: Registered protocol family 1
> <6>NET: Registered protocol family 17
> NET: Registered protocol family 17
> <5>Sending DHCP requests .Sending DHCP requests ........... timed out!
>  timed out!
> <3>IP-Config: Retrying forever (NFS root)...
> IP-Config: Retrying forever (NFS root)...
> <5>Sending DHCP requests .Sending DHCP requests ........... timed out!
>  timed out!
> <3>IP-Config: Retrying forever (NFS root)...
> IP-Config: Retrying forever (NFS root)...
> <5>Sending DHCP requests .Sending DHCP requests ........... timed out!
>  timed out!
> <3>IP-Config: Retrying forever (NFS root)...
> IP-Config: Retrying forever (NFS root)...
>
> As you can see, The IP-Config  DHCP requests keep failing, IP is not
> assigned and the board cannot proceed to boot from NFS. Why would the
> USB function cause the IP-Config DHCP routines to fail??
>
>
> > B. When we boot through this kernel with the USB drivers compiled as
> > modules ( HID support compiled within kernel)
> >  1. The boot process, IP-Config, launching of shell happens successfully.
> >  2. From the shell launched on the serial console, if we insmod
> > musb_hdrc.ko, insmod command does not seem to return to console prompt
> > and the serial console freezes like described in (A) above. Again
> > devices
> >     connected / disconnected are still reported correctly on the
> > frozen serial console.The USB devices seem to work properly, causing
> > the serial console to freeze.
>
> In this case, the boot messages are like this:
>
> start of boot.
> ;
> ;
> ;
> ;
> ;
> <6>NET: Registered protocol family 1
> NET: Registered protocol family 1
> <6>NET: Registered protocol family 17
> NET: Registered protocol family 17
> <5>Sending DHCP requests .Sending DHCP requests ...,, OK
>  OK
> IP-Config: Got DHCP answer from 0.0.0.0, IP-Config: Got DHCP answer
> from 0.0.0.0, my address is 192.168.1.194
> my address is 192.168.1.194
> IP-Config: Complete:IP-Config: Complete:
>      device=eth0
>      device=eth0, addr=192.168.1.194, addr=192.168.1.194,
> mask=255.255.255.0, mask=255.255.255.0, gw=192.168.1.1,
> gw=192.168.1.1, .....
> ;
> ;
> ;
> ;
> 192.168.1.194 login: root
> #insmod ./musb_hdrc.ko
> [email protected]:~# insmod ./musb_hdrc.ko
> <6>musb_hdrc: version 6.0, cppi-dma, host, debug=0
> musb_hdrc: version 6.0, cppi-dma, host, debug=0
> <7>musb_hdrc: ConfigData=0x06 (UTMI-8, dyn FIFOs, SoftConn)
> <7>musb_hdrc: MHDRC RTL version 1.300
> <7>musb_hdrc: setup fifo_mode 2
> <7>musb_hdrc: 7/9 max ep, 2624/4096 memory
> <7>musb_hdrc: hw_ep 0shared, max 64
> <7>musb_hdrc: hw_ep 1tx, max 512
> <7>musb_hdrc: hw_ep 1rx, max 512
> <7>musb_hdrc: hw_ep 2tx, max 512
> <7>musb_hdrc: hw_ep 2rx, max 512
> <7>musb_hdrc: hw_ep 3shared, max 256
> <7>musb_hdrc: hw_ep 4shared, max 256
> <6>musb_hdrc: USB Host mode controller at c8050000 using DMA, IRQ 12
> musb_hdrc: USB Host mode controller at c8050000 using DMA, IRQ 12
> <6>musb_hdrc musb_hdrc: MUSB HDRC host driver
> musb_hdrc musb_hdrc: MUSB HDRC host driver
> <6>musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
> musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
> <6>usb usb1: configuration #1 chosen from 1 choice
> usb usb1: configuration #1 chosen from 1 choice
> <6>hub 1-0:1.0: USB hub found
> hub 1-0:1.0: USB hub found
> <6>hub 1-0:1.0: 1 port detected
> hub 1-0:1.0: 1 port detected
> [email protected]:~# <6>usb 1-1: new high speed USB device using
> musb_hdrc and address 2
> usb 1-1: new high speed USB device using musb_hdrc and address 2
> <6>usb 1-1: configuration #1 chosen from 1 choice
> usb 1-1: configuration #1 chosen from 1 choice
> <6>hub 1-1:1.0: USB hub found
> hub 1-1:1.0: USB hub found
> <6>hub 1-1:1.0: 4 ports detected
> hub 1-1:1.0: 4 ports detected
> ;
> ;
> ;
> [Does not return to # prompt, serial console does not respond]
> At this point if i connect,disconnect a USB Keyboard/Mouse/Flash drive.....
> ;
> ;
> <6>usb 1-1.1: new low speed USB device using musb_hdrc and address 3
> usb 1-1.1: new low speed USB device using musb_hdrc and address 3
> <6>usb 1-1.1: configuration #1 chosen from 1 choice
> usb 1-1.1: configuration #1 chosen from 1 choice
> <6>input: USB Mouse as /class/input/input0
> input: USB Mouse as /class/input/input0
> <6>inputinput: USB HID v1.10 Mouse [USB Mouse] on usb-musb_hdrc-1.1
> : USB HID v1.10 Mouse [USB Mouse] on usb-musb_hdrc-1.1
> <6>usb 1-1.1: USB disconnect, address 3
> usb 1-1.1: USB disconnect, address 3
> <6>usb 1-1.1: new low speed USB device using musb_hdrc and address 4
> usb 1-1.1: new low speed USB device using musb_hdrc and address 4
> <6>usb 1-1.1: configuration #1 chosen from 1 choice
> usb 1-1.1: configuration #1 chosen from 1 choice
> <6>input: Logitech Logitech USB Keyboard as /class/input/input1
> input: Logitech Logitech USB Keyboard as /class/input/input1
> <6>inputinput: USB HID v1.10 Keyboard [Logitech Logitech USB Keyboard]
> on usb-musb_hdrc-1.1
> : USB HID v1.10 Keyboard [Logitech Logitech USB Keyboard] on
> usb-musb_hdrc-1.1
> <6>usb 1-1.1: USB disconnect, address 4
> usb 1-1.1: USB disconnect, address 4
> <6>usb 1-1.1: new high speed USB device using musb_hdrc and address 5
> usb 1-1.1: new high speed USB device using musb_hdrc and address 5
> <6>usb 1-1.1: configuration #1 chosen from 1 choice
> usb 1-1.1: configuration #1 chosen from 1 choice
> <6>usb 1-1.1: USB disconnect, address 5
> usb 1-1.1: USB disconnect, address 5
> ;
> ;
> ;
> [Still we are not returned to prompt]
>
> Pointer will be appreciated!!
>
>
> regards,
> Deepak
>
> On 4/10/09, Deepak Mundra <[email protected]> wrote:
>>
>> Dear All,
>>
>> We are working on getting the Linux 2.6.23 kernel working on our Custom
>> Board.
>> Due to a certain legacy driver ( written only for 2.6.23) we are
>> forced to use 2.6.23.
>> So far most of the Interfaces on our hardware are working perfectly
>> fine with the 2.6.23 kernel. However an issue still remains with the
>> USB function. I wil describe this to you:
>>
>> 1. Our board has a onboard hub chip.
>> 2. We compile the 2.6.23 kernel with DaVinci musb drivers, USB HID
>> device support.
>>
>> A. When we boot through this kernel(with USB drivers as a kernel
>> component):
>>   1. We see that the boot process detects the on board USB Hub, and
>> the boot process fails at the kernel IP-Config routines(the board is
>> configured
>>       to get an IP address through DHCP)
>>   2. The serial console does not seem to respond
>>   3. At this point, If we connect / disconnect  a USB Keyboard,Mouse
>> device, the driver prints the appropriate messages indicating that
>> these devices have been connected / disconnected.
>>
>> B. When we boot through this kernel with the USB drivers compiled as
>> modules ( HID support compiled within kernel)
>>  1. The boot process, IP-Config, launching of shell happens successfully.
>>  2. From the shell launched on the serial console, if we insmod
>> musb_hdrc.ko, insmod command does not seem to return to console prompt
>> and the serial console freezes like described in (A) above. Again
>> devices
>>     connected / disconnected are still reported correctly on the
>> frozen serial console.The USB devices seem to work properly, causing
>> the serial console to freeze.
>>
>> Observing the above two, here is what we tried:
>>
>> C. With the kernel with the USB drivers compiled as modules and:
>>  1. Boot the kernel with the usb musb support compiled as module
>>  2. Wait for shell to appear on serial console, start sshd daemon
>> from the console shell
>>  3. Login to the board via ssh, and insmod musb_hdrc.ko - here the
>> insmod returns to the shell!! However, the serial console freezes like
>> (A) above.
>>  4. USB devices connected / disconnected are detected properly
>>  5. The ssh terminal looks to be healthy, allowing running of
>> applications.
>>
>> Could some one point out what the issue could be?
>> I am looking to fix this behaviour in my 2.6.23 kernel tree, and use
>> the usb function as a kernel compiled functionality.
>>
>> I understand the 2.6.23 kernel tree may not be of focus at the moment,
>> but a few pointers on the possible solutions would help me
>> tremendously as i am trying to get this fixed.
>>
>> Look forward to some suggestions/pointers.
>>
>> regards,
>> Deepak
>
>


Dear All,

Continuing on my previous emails, i have a few more findings.

My USB kernel config looks as below:

#
# USB Host Controller Drivers
#
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_MUSB_HDRC=m
CONFIG_USB_MUSB_SOC=y

#
# DaVinci 644x USB support
#
CONFIG_USB_MUSB_HOST=y
# CONFIG_USB_MUSB_PERIPHERAL is not set
# CONFIG_USB_MUSB_OTG is not set
CONFIG_USB_MUSB_HDRC_HCD=y
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_MUSB_LOGLEVEL=6


Now, when i boot my kernel, compiled with musb_hdrc as a loadable
module, on loading of which from shell, we see that the following OOPS
is coming. I have attached herewith the System.map file for the
compiled kernel.
Any help will be appreciated!


[email protected]:~/23_DMA_TEST# insmod ./musb_hdrc.ko
<6>musb_hdrc: version 6.0/dbg, cppi-dma, host, debug=6
musb_hdrc: version 6.0/dbg, cppi-dma, host, debug=6
<7>DaVinci OTG revision 00147900 phy 1f0 control 00
<7>musb_hdrc: ConfigData=0x06 (UTMI-8, dyn FIFOs, SoftConn)
<7>musb_hdrc: MHDRC RTL version 1.300
<7>musb_hdrc: setup fifo_mode 2
<7>musb_hdrc: 7/9 max ep, 2624/4096 memory
<7>musb_hdrc: hw_ep 0shared, max 64
<7>musb_hdrc: hw_ep 1tx, max 512
<7>musb_hdrc: hw_ep 1rx, max 512
<7>musb_hdrc: hw_ep 2tx, max 512
<7>musb_hdrc: hw_ep 2rx, max 512
<7>musb_hdrc: hw_ep 3shared, max 256
<7>musb_hdrc: hw_ep 4shared, max 256
<6>musb_hdrc: USB Host mode controller at c8050000 using DMA, IRQ 12
musb_hdrc: USB Host mode controller at c8050000 using DMA, IRQ 12
<6>musb_hdrc musb_hdrc: MUSB HDRC host driver
musb_hdrc musb_hdrc: MUSB HDRC host driver
<6>musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
<6>usb usb1: configuration #1 chosen from 1 choice
usb usb1: configuration #1 chosen from 1 choice
<6>hub 1-0:1.0: USB hub found
hub 1-0:1.0: USB hub found
<6>hub 1-0:1.0: 1 port detected
hub 1-0:1.0: 1 port detected
<7>musb_start 869: <== devctl 98
<7>musb_hub_control 414: set feature 8
<7>davinci_interrupt 295: IRQ 01000000
<7>davinci_interrupt 355: VBUS off (b_idle), devctl 99
<7>davinci_interrupt 295: IRQ 01000000
<7>davinci_interrupt 355: VBUS on (a_wait_vrise), devctl 19
<7>davinci_interrupt 295: IRQ 00100000
<7>musb_interrupt 1543: ** IRQ host usb0010 tx0000 rx0000
<7>musb_stage0_irq 400: <== Power=e0, DevCtl=5d, int_usb=0x10
<7>musb_stage0_irq 636: CONNECT (a_host) devctl 5d
<1>Unable to handle kernel NULL pointer dereference at virtual address
00000000
Unable to handle kernel NULL pointer dereference at virtual address 00000000
<1>pgd = c6a00000
pgd = c6a00000
<1>[00000000] *pgd=869de031[00000000] *pgd=869de031, *pte=00000000,
*pte=00000000, *ppte=00000000, *ppte=00000000

Internal error: Oops: 817 [#1]
Internal error: Oops: 817 [#1]
Modules linked in:Modules linked in: musb_hdrc musb_hdrc

CPU: 0    Not tainted  (2.6.23firstattempt-davinci1 #38)
CPU: 0    Not tainted  (2.6.23firstattempt-davinci1 #38)
PC is at queue_work+0x48/0x64
PC is at queue_work+0x48/0x64
LR is at __init_begin+0x3fff8000/0x34
LR is at __init_begin+0x3fff8000/0x34
pc : [<c00427a0>]    lr : [<00000000>]    psr: 00000093
sp : c69ffeac  ip : 00000000  fp : c69ffebc
pc : [<c00427a0>]    lr : [<00000000>]    psr: 00000093
sp : c69ffeac  ip : 00000000  fp : c69ffebc
r10: 00000001  r9 : 00000010  r8 : 0000005d
r10: 00000001  r9 : 00000010  r8 : 0000005d
r7 : 00000000  r6 : 0000005d  r5 : c05cd8c0  r4 : c05cd8c8
r7 : 00000000  r6 : 0000005d  r5 : c05cd8c0  r4 : c05cd8c8
r3 : 00000000  r2 : c05cd8cc  r1 : 00000000  r0 : c043f9e0
r3 : 00000000  r2 : c05cd8cc  r1 : 00000000  r0 : c043f9e0
Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0005317f  Table: 86a00000  DAC: 00000015
Control: 0005317f  Table: 86a00000  DAC: 00000015
Process default.hotplug (pid: 1038, stack limit = 0xc69fe258)
Process default.hotplug (pid: 1038, stack limit = 0xc69fe258)
Stack: (0xc69ffeac to 0xc6a00000)
Stack: (0xc69ffeac to 0xc6a00000)
fea0: fea0:
c05cd800 c05cd800 c69ffecc c69ffecc c69ffec0 c69ffec0 c0042dd4
c0042dd4 c0042768 c0042768

fec0: fec0: c69fff18 c69fff18 c69ffed0 c69ffed0 bf0009f0 bf0009f0
c0042dc8 c0042dc8 0000005d 0000005d 00000010 00000010 00000000
00000000 00000000 00000000

fee0: fee0: c8050400 c8050400 00000010 00000010 000000e0 000000e0
000000e0 000000e0 c05cd8c0 c05cd8c0 00100000 00100000 00000000
00000000 00000000 00000000

ff00: ff00: c8050000 c8050000 c69fe000 c69fe000 40000013 40000013
c69fff50 c69fff50 c69fff1c c69fff1c bf001420 bf001420 bf0004c8
bf0004c8 c69fe000 c69fe000

ff20: ff20: 000000b9 000000b9 00100077 00100077 c76f1580 c76f1580
00000000 00000000 00000000 00000000 0000000c 0000000c beebbe1c
beebbe1c c69fe000 c69fe000

ff40: ff40: 4017a000 4017a000 c69fff70 c69fff70 c69fff54 c69fff54
c0055ae8 c0055ae8 bf00122c bf00122c c02db218 c02db218 0000000c
0000000c c76f1580 c76f1580

ff60: ff60: 000b4825 000b4825 c69fff8c c69fff8c c69fff74 c69fff74
c0057064 c0057064 c0055ab4 c0055ab4 c02db218 c02db218 c0323260
c0323260 00000000 00000000

ff80: ff80: c69fffac c69fffac c69fff90 c69fff90 c001f048 c001f048
c0056f74 c0056f74 0000000c 0000000c ffffffff ffffffff fec48000
fec48000 0000001d 0000001d

ffa0: ffa0: 00000000 00000000 c69fffb0 c69fffb0 c001fc04 c001fc04
c001f010 c001f010 40017d10 40017d10 beebbe70 beebbe70 0009c4f0
0009c4f0 beebbe20 beebbe20

ffc0: ffc0: 0000001d 0000001d 00000001 00000001 0000001d 0000001d
000b4825 000b4825 beebbe1c beebbe1c 000a60ec 000a60ec 4017a000
4017a000 00000001 00000001

ffe0: ffe0: 000a1134 000a1134 beebbe00 beebbe00 400ddccc 400ddccc
400ddcd0 400ddcd0 20000010 20000010 ffffffff ffffffff 00000000
00000000 00000000 00000000

Backtrace: Backtrace:

[<c0042758>] [<c0042758>] (queue_work+0x0/0x64) (queue_work+0x0/0x64)
from [<c0042dd4>] from [<c0042dd4>] (schedule_work+0x1c/0x24)
(schedule_work+0x1c/0x24)
 r4:c05cd800 r4:c05cd800

[<c0042db8>] [<c0042db8>] (schedule_work+0x0/0x24)
(schedule_work+0x0/0x24) from [<bf0009f0>] from [<bf0009f0>]
(musb_interrupt+0x538/0x7fc [musb_hdrc])
(musb_interrupt+0x538/0x7fc [musb_hdrc])
[<bf0004b8>] [<bf0004b8>] (musb_interrupt+0x0/0x7fc [musb_hdrc])
(musb_interrupt+0x0/0x7fc [musb_hdrc]) from [<bf001420>] from
[<bf001420>] (davinci_interr)
(davinci_interrupt+0x204/0x290 [musb_hdrc])
[<bf00121c>] [<bf00121c>] (davinci_interrupt+0x0/0x290 [musb_hdrc])
(davinci_interrupt+0x0/0x290 [musb_hdrc]) from [<c0055ae8>] from
[<c0055ae8>] (handle_I)
(handle_IRQ_event+0x44/0x84)
[<c0055aa4>] [<c0055aa4>] (handle_IRQ_event+0x0/0x84)
(handle_IRQ_event+0x0/0x84) from [<c0057064>] from [<c0057064>]
(handle_edge_irq+0x100/0x144)
(handle_edge_irq+0x100/0x144)
 r7:000b4825 r7:000b4825 r6:c76f1580 r6:c76f1580 r5:0000000c
r5:0000000c r4:c02db218 r4:c02db218

[<c0056f64>] [<c0056f64>] (handle_edge_irq+0x0/0x144)
(handle_edge_irq+0x0/0x144) from [<c001f048>] from [<c001f048>]
(asm_do_IRQ+0x48/0x60)
(asm_do_IRQ+0x48/0x60)
 r6:00000000 r6:00000000 r5:c0323260 r5:c0323260 r4:c02db218 r4:c02db218

[<c001f000>] [<c001f000>] (asm_do_IRQ+0x0/0x60) (asm_do_IRQ+0x0/0x60)
from [<c001fc04>] from [<c001fc04>] (__irq_usr+0x44/0x80)
(__irq_usr+0x44/0x80)
Exception stack(0xc69fffb0 to 0xc69ffff8)
Exception stack(0xc69fffb0 to 0xc69ffff8)
ffa0: ffa0:
            40017d10 40017d10 beebbe70 beebbe70 0009c4f0 0009c4f0
beebbe20 beebbe20

ffc0: ffc0: 0000001d 0000001d 00000001 00000001 0000001d 0000001d
000b4825 000b4825 beebbe1c beebbe1c 000a60ec 000a60ec 4017a000
4017a000 00000001 00000001

ffe0: ffe0: 000a1134 000a1134 beebbe00 beebbe00 400ddccc 400ddccc
400ddcd0 400ddcd0 20000010 20000010 ffffffff ffffffff

 r6:0000001d r6:0000001d r5:fec48000 r5:fec48000 r4:ffffffff r4:ffffffff

Code: Code: e2842004 e2842004 1a000006 1a000006 e5943004 e5943004
e1530002 e1530002 (158ee000) (158ee000)

<0>Kernel panic - not syncing: Fatal exception in interrupt
Kernel panic - not syncing: Fatal exception in interrupt



regards,
Deepak
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to