Re: [uClinux-dev] Get RT73 driver to work on 2.4 or try to move to 2.6? ARM7 from Nuvoton
Jivin Sima Baymani lays it down ... Hi all, I've been lurking a bit on this list since I got a uClinux project in my lap this summer. I've fiddled a bit with Linux, but this is my first uClinux project and I've not worked this deep with linux drivers before even though I'm familiar with working low level. And now to the question! I know this is ancient 2.4, but this is what I have to work with. I don't expect answers but am grateful for any advice or thoughts you might have. Platform: ARM7 from Nuvoton, more precisely called NUC745. uClinux version: 2.4.20 The product is a webcam with ethernet and wifi, a clone of one of the FOSCAM cameras, produced by Apexis. I need to do a lot of changes in the software and the programs on it. They will not share their source code even though I _know_ they have used uClinux and other open source software under GPL. I got the uClinux-source from a BSP somewhere else. The BSP source runs fine with ethernet working. My problem is that I need wifi to work as well. The driver I have is the RT73 driver from Ralink. Apexis use the same driver but I don't know how much they had to change it to work. I have managed to add the driver to the kernel build and it seems to be loaded (full logs at end of email): usb.c: registered new driver hub add a static ohci host controller device : USB OHCI at membase 0xfff05000, IRQ 15 hc_alloc_ohci usb-ohci.c: AMD756 erratum 4 workaround hc_reset usb.c: new USB bus registered, assigned bus number 1 Product: USB OHCI Root Hub SerialNumber: fff05000 hub.c: USB hub found hub.c: 2 ports detected -RT73-7usb_rtusb_init-- //usb_rtusb_init is the module_init function though this is a compiled in driver SIMA in da house! usb.c: registered new driver rt73 This only tells you the driver was registered. There doesn't seem to be any device detected that matches the rt73 driver. SIMA - Registered RT73 driver! Usb device driver by ns24 zswan designed successfully! Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage USB Mass Storage support registered. But when I get to the prompt neither ifconfig nor iwconfig list any wireless interfaces. If I compare to the original boot log, it looks like hub.c does a bit of probing that my log doesn't have: hub.c: connect-debounce failed, port 1 disabled new USB device :80fc8004-fed640 hub.c: new USB device 1, assigned address 2 probing sonix288 usb camera ... dvm camera registered as video0 new USB device :80fc8604-fed640 hub.c: new USB device 2, assigned address 3 idVendor = 0x148f, idProduct = 0x2573 trying to set up the wireless interfaces gives me this: / ifconfig rausb0 inet 192.168.5.135 up How long after boot ? Sometimes it takes a while for the usb devices to appear, but if you waited at least 15-20 seconds, it isn't going to show :-) You need to get lsusb or look at the appropriate /proc files and see if the wireless USB is actually appearing. Cheers, Davidm SIOCSIFADDR: No such device
Re: [uClinux-dev] Error after installing uClinux
Hi Parvathy, On 13/10/10 13:55, Parvathy Sasikala wrote: Hi Greg, Thank you for your help. I am installing GDB?Armulator. I am giving the entire load details hereby. [r...@localhost uClinux-dist]# arm-elf-gdb -e linux-2.4.x/linux GNU gdb 6.4 Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as --host=i686-pc-linux-gnu --target=arm-elf. (gdb) target sim cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0 mach info: name at91, mach_init addr 0x8190960 nic[0] info: state=0, ethmod num=1, mac addr=0:4:3:2:1:f, hostip=10.0.0.1 SKYEYE: use arm7100 mmu ops ^^ Obviously this is not the old original GDB/ARMulator? Loaded ROM images/romfs.img What sort of filesystem does this file contain? Do you have a skyeye.conf file? What address range does it load this file at? Regards Greg Connected to the simulator. (gdb) load Loading section .init, size 0x9000 vma 0x100 Loading section .text, size 0xd5268 vma 0x1009000 Loading section .data, size 0x81b4 vma 0x10e Start address 0x100 Transfer rate: 7545056 bits in 1 sec. (gdb) run Starting program: /home/vinay/Documents/NS4Porting_Parvathy/scriptsAndPackages/uClinux-dist/linux-2.4.x/linux Linux version 2.4.17-uc0 (r...@localhost.localdomain) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #1 Tue Oct 12 12:02:53 IST 2010 Processor: Atmel AT91M40xxx revision 0 Architecture: EB01 On node 0 totalpages: 1024 zone(0): 0 pages. zone(1): 1024 pages. zone(2): 0 pages. Kernel command line: root=/dev/rom0 Calibrating delay loop... 13.00 BogoMIPS Memory: 4MB = 4MB total Memory: 2960KB available (852K code, 170K data, 36K init) Dentry-cache hash table entries: 512 (order: 0, 4096 bytes) Inode-cache hash table entries: 512 (order: 0, 4096 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 1024 (order: 0, 4096 bytes) POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd Atmel USART driver version 0.99 ttyS0 at 0xfffd (irq = 2) is a builtin Atmel APB USART ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART block: 64 slots per queue, batch=16 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Blkmem copyright 1998,1999 D. Jeff Dionne Blkmem copyright 1998 Kenneth Albanowski Blkmem 1 disk images: 0: 400-3FF [VIRTUAL 400-3FF] (RO) NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 512 bind 512) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. Blkmem: bad access: block=2, count=2 (pos=800, len=0) end_request: I/O error, dev 1f:00 (Blkmem), sector 2 EXT2-fs: unable to read superblock Blkmem: bad access: block=0, count=2 (pos=400, len=0) end_request: I/O error, dev 1f:00 (Blkmem), sector 0 romfs: unable to read superblock Kernel panic: VFS: Unable to mount root fs on 1f:00 On Wed, Oct 13, 2010 at 6:13 AM, Greg Ungerer g...@snapgear.com mailto:g...@snapgear.com wrote: Hi Parvathy, On 12/10/10 18:06, Parvathy Sasikala wrote: Thank you for your valuable time. I installed skyeye simulator for GDB/armulator. So which one are you actually using here? The trace below looks like GDB/armulator. On top of that i installed the uClinux distro also. While installing it dint throw any error. But while loading the uClinux in armulator it is throwing an error and the kernel is not booting. (gdb) run Starting program: /home/vinay/Documents/NS4Porting_Parvathy/scriptsAndPackages/uClinux-dist/linux-2.4.x/linux Please provide all the gdb/armulator trace up to this point. Did it correctly load the boot.rom file? Regards Greg Linux version 2.4.17-uc0 (r...@localhost.localdomain) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux http://fiddes.net/coldfire/%29%28uClinux XIP and shared lib patches from http://www.snapgear.com/)) #1 Tue Oct 12 12:02:53 IST 2010 Processor: Atmel AT91M40xxx revision 0 Architecture: EB01 On node 0 totalpages: 1024 zone(0): 0 pages. zone(1): 1024 pages. zone(2): 0 pages. Kernel command line: root=/dev/rom0 Calibrating delay loop... 13.00 BogoMIPS Memory: 4MB = 4MB total
Re: [uClinux-dev] Error after installing uClinux
Hi Greg, Once again thanks for your valuable time. I am attaching the skyeye.conf file details hereby. cpu: arm7tdmi mach: at91 mem_bank: map=M, type=RW, addr=0x, size=0x4000 mem_bank: map=M, type=RW, addr=0x0100, size=0x0040 mem_bank: map=M, type=R, addr=0x0140, size=0x0040, file=images/romfs.img mem_bank: map=M, type=RW, addr=0x0200, size=0x0040 mem_bank: map=M, type=RW, addr=0x0240, size=0x8000 mem_bank: map=M, type=RW, addr=0x0400, size=0x0040 mem_bank: map=I, type=RW, addr=0xf000, size=0x1000 net: type=rt18019, mac=0:4:3:2:1:F, ethmod=tuntap, hostip=10.0.0.1 #dbct: state=on i copied this from a forum. I am newbie to this . Please help me out. regards, Parvathy. On Thu, Oct 14, 2010 at 10:09 AM, Greg Ungerer g...@snapgear.com wrote: Hi Parvathy, On 13/10/10 13:55, Parvathy Sasikala wrote: Hi Greg, Thank you for your help. I am installing GDB?Armulator. I am giving the entire load details hereby. [r...@localhost uClinux-dist]# arm-elf-gdb -e linux-2.4.x/linux GNU gdb 6.4 Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as --host=i686-pc-linux-gnu --target=arm-elf. (gdb) target sim cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0 mach info: name at91, mach_init addr 0x8190960 nic[0] info: state=0, ethmod num=1, mac addr=0:4:3:2:1:f, hostip=10.0.0.1 SKYEYE: use arm7100 mmu ops ^^ Obviously this is not the old original GDB/ARMulator? Loaded ROM images/romfs.img What sort of filesystem does this file contain? Do you have a skyeye.conf file? What address range does it load this file at? Regards Greg Connected to the simulator. (gdb) load Loading section .init, size 0x9000 vma 0x100 Loading section .text, size 0xd5268 vma 0x1009000 Loading section .data, size 0x81b4 vma 0x10e Start address 0x100 Transfer rate: 7545056 bits in 1 sec. (gdb) run Starting program: /home/vinay/Documents/NS4Porting_Parvathy/scriptsAndPackages/uClinux-dist/linux-2.4.x/linux Linux version 2.4.17-uc0 (r...@localhost.localdomain) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinuxhttp://fiddes.net/coldfire/%29%28uClinuxXIP and shared lib patches from http://www.snapgear.com/)) #1 Tue Oct 12 12:02:53 IST 2010 Processor: Atmel AT91M40xxx revision 0 Architecture: EB01 On node 0 totalpages: 1024 zone(0): 0 pages. zone(1): 1024 pages. zone(2): 0 pages. Kernel command line: root=/dev/rom0 Calibrating delay loop... 13.00 BogoMIPS Memory: 4MB = 4MB total Memory: 2960KB available (852K code, 170K data, 36K init) Dentry-cache hash table entries: 512 (order: 0, 4096 bytes) Inode-cache hash table entries: 512 (order: 0, 4096 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 1024 (order: 0, 4096 bytes) POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd Atmel USART driver version 0.99 ttyS0 at 0xfffd (irq = 2) is a builtin Atmel APB USART ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART block: 64 slots per queue, batch=16 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Blkmem copyright 1998,1999 D. Jeff Dionne Blkmem copyright 1998 Kenneth Albanowski Blkmem 1 disk images: 0: 400-3FF [VIRTUAL 400-3FF] (RO) NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 512 bind 512) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. Blkmem: bad access: block=2, count=2 (pos=800, len=0) end_request: I/O error, dev 1f:00 (Blkmem), sector 2 EXT2-fs: unable to read superblock Blkmem: bad access: block=0, count=2 (pos=400, len=0) end_request: I/O error, dev 1f:00 (Blkmem), sector 0 romfs: unable to read superblock Kernel panic: VFS: Unable to mount root fs on 1f:00 On Wed, Oct 13, 2010 at 6:13 AM, Greg Ungerer g...@snapgear.com mailto:g...@snapgear.com wrote: Hi Parvathy, On 12/10/10 18:06, Parvathy Sasikala wrote: Thank you for your valuable time. I installed skyeye simulator for GDB/armulator. So which one are you actually using here? The trace below looks like GDB/armulator. On top of that i installed the uClinux distro also. While installing it dint throw any error. But while loading the uClinux in armulator it is throwing an error and the kernel is not booting.
Re: [uClinux-dev] Error after installing uClinux
So is that mean i should change my skyeye.conf ? On Thu, Oct 14, 2010 at 11:05 AM, Greg Ungerer g...@snapgear.com wrote: Hi Parvathy, On 14/10/10 15:19, Parvathy Sasikala wrote: Hi Greg, Once again thanks for your valuable time. I am attaching the skyeye.conf file details hereby. cpu: arm7tdmi mach: at91 mem_bank: map=M, type=RW, addr=0x, size=0x4000 mem_bank: map=M, type=RW, addr=0x0100, size=0x0040 mem_bank: map=M, type=R, addr=0x0140, size=0x0040, file=images/romfs.img mem_bank: map=M, type=RW, addr=0x0200, size=0x0040 mem_bank: map=M, type=RW, addr=0x0240, size=0x8000 mem_bank: map=M, type=RW, addr=0x0400, size=0x0040 mem_bank: map=I, type=RW, addr=0xf000, size=0x1000 net: type=rt18019, mac=0:4:3:2:1:F, ethmod=tuntap, hostip=10.0.0.1 #dbct: state=on i copied this from a forum. I am newbie to this . Please help me out. Problem is that your kernel's blkmem driver is looking at: Blkmem copyright 1998,1999 D. Jeff Dionne Blkmem copyright 1998 Kenneth Albanowski Blkmem 1 disk images: 0: 400-3FF [VIRTUAL 400-3FF] (RO) ^^^ Which doesn't match where you load your ROM file, romfs.img. Regards Greg regards, Parvathy. On Thu, Oct 14, 2010 at 10:09 AM, Greg Ungerer g...@snapgear.com mailto:g...@snapgear.com wrote: Hi Parvathy, On 13/10/10 13:55, Parvathy Sasikala wrote: Hi Greg, Thank you for your help. I am installing GDB?Armulator. I am giving the entire load details hereby. [r...@localhost uClinux-dist]# arm-elf-gdb -e linux-2.4.x/linux GNU gdb 6.4 Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as --host=i686-pc-linux-gnu --target=arm-elf. (gdb) target sim cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0 mach info: name at91, mach_init addr 0x8190960 nic[0] info: state=0, ethmod num=1, mac addr=0:4:3:2:1:f, hostip=10.0.0.1 SKYEYE: use arm7100 mmu ops ^^ Obviously this is not the old original GDB/ARMulator? Loaded ROM images/romfs.img What sort of filesystem does this file contain? Do you have a skyeye.conf file? What address range does it load this file at? Regards Greg Connected to the simulator. (gdb) load Loading section .init, size 0x9000 vma 0x100 Loading section .text, size 0xd5268 vma 0x1009000 Loading section .data, size 0x81b4 vma 0x10e Start address 0x100 Transfer rate: 7545056 bits in 1 sec. (gdb) run Starting program: /home/vinay/Documents/NS4Porting_Parvathy/scriptsAndPackages/uClinux-dist/linux-2.4.x/linux Linux version 2.4.17-uc0 (r...@localhost.localdomain) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinuxhttp://fiddes.net/coldfire/%29%28uClinux http://fiddes.net/coldfire/%29%28uClinux XIP and shared lib patches from http://www.snapgear.com/)) #1 Tue Oct 12 12:02:53 IST 2010 Processor: Atmel AT91M40xxx revision 0 Architecture: EB01 On node 0 totalpages: 1024 zone(0): 0 pages. zone(1): 1024 pages. zone(2): 0 pages. Kernel command line: root=/dev/rom0 Calibrating delay loop... 13.00 BogoMIPS Memory: 4MB = 4MB total Memory: 2960KB available (852K code, 170K data, 36K init) Dentry-cache hash table entries: 512 (order: 0, 4096 bytes) Inode-cache hash table entries: 512 (order: 0, 4096 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 1024 (order: 0, 4096 bytes) POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd Atmel USART driver version 0.99 ttyS0 at 0xfffd (irq = 2) is a builtin Atmel APB USART ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART block: 64 slots per queue, batch=16 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Blkmem copyright 1998,1999 D. Jeff Dionne Blkmem copyright 1998 Kenneth Albanowski Blkmem 1 disk images: 0: 400-3FF [VIRTUAL 400-3FF] (RO) NET4: Linux TCP/IP 1.0 for
Re: [uClinux-dev] Error after installing uClinux
On 14/10/10 15:50, Parvathy Sasikala wrote: So is that mean i should change my skyeye.conf ? I would try that first. Change the mappings to load the romfs.img file at 0x0400. Regards Greg On Thu, Oct 14, 2010 at 11:05 AM, Greg Ungerer g...@snapgear.com mailto:g...@snapgear.com wrote: Hi Parvathy, On 14/10/10 15:19, Parvathy Sasikala wrote: Hi Greg, Once again thanks for your valuable time. I am attaching the skyeye.conf file details hereby. cpu: arm7tdmi mach: at91 mem_bank: map=M, type=RW, addr=0x, size=0x4000 mem_bank: map=M, type=RW, addr=0x0100, size=0x0040 mem_bank: map=M, type=R, addr=0x0140, size=0x0040, file=images/romfs.img mem_bank: map=M, type=RW, addr=0x0200, size=0x0040 mem_bank: map=M, type=RW, addr=0x0240, size=0x8000 mem_bank: map=M, type=RW, addr=0x0400, size=0x0040 mem_bank: map=I, type=RW, addr=0xf000, size=0x1000 net: type=rt18019, mac=0:4:3:2:1:F, ethmod=tuntap, hostip=10.0.0.1 #dbct: state=on i copied this from a forum. I am newbie to this . Please help me out. Problem is that your kernel's blkmem driver is looking at: Blkmem copyright 1998,1999 D. Jeff Dionne Blkmem copyright 1998 Kenneth Albanowski Blkmem 1 disk images: 0: 400-3FF [VIRTUAL 400-3FF] (RO) ^^^ Which doesn't match where you load your ROM file, romfs.img. Regards Greg regards, Parvathy. On Thu, Oct 14, 2010 at 10:09 AM, Greg Ungerer g...@snapgear.com mailto:g...@snapgear.com mailto:g...@snapgear.com mailto:g...@snapgear.com wrote: Hi Parvathy, On 13/10/10 13:55, Parvathy Sasikala wrote: Hi Greg, Thank you for your help. I am installing GDB?Armulator. I am giving the entire load details hereby. [r...@localhost uClinux-dist]# arm-elf-gdb -e linux-2.4.x/linux GNU gdb 6.4 Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as --host=i686-pc-linux-gnu --target=arm-elf. (gdb) target sim cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0 mach info: name at91, mach_init addr 0x8190960 nic[0] info: state=0, ethmod num=1, mac addr=0:4:3:2:1:f, hostip=10.0.0.1 SKYEYE: use arm7100 mmu ops ^^ Obviously this is not the old original GDB/ARMulator? Loaded ROM images/romfs.img What sort of filesystem does this file contain? Do you have a skyeye.conf file? What address range does it load this file at? Regards Greg Connected to the simulator. (gdb) load Loading section .init, size 0x9000 vma 0x100 Loading section .text, size 0xd5268 vma 0x1009000 Loading section .data, size 0x81b4 vma 0x10e Start address 0x100 Transfer rate: 7545056 bits in 1 sec. (gdb) run Starting program: /home/vinay/Documents/NS4Porting_Parvathy/scriptsAndPackages/uClinux-dist/linux-2.4.x/linux Linux version 2.4.17-uc0 (r...@localhost.localdomain) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux http://fiddes.net/coldfire/%29%28uClinux http://fiddes.net/coldfire/%29%28uClinux XIP and shared lib patches from http://www.snapgear.com/)) #1 Tue Oct 12 12:02:53 IST 2010 Processor: Atmel AT91M40xxx revision 0 Architecture: EB01 On node 0 totalpages: 1024 zone(0): 0 pages. zone(1): 1024 pages. zone(2): 0 pages. Kernel command line: root=/dev/rom0 Calibrating delay loop... 13.00 BogoMIPS Memory: 4MB = 4MB total Memory: 2960KB available (852K code, 170K data, 36K init) Dentry-cache hash table entries: 512 (order: 0, 4096 bytes) Inode-cache hash table entries: 512 (order: 0, 4096 bytes)