[Armadillo:00387] Re: uClinux crash

Toma? Paukrt email@hidden
2005年 6月 27日 (月) 17:52:02 JST


Hello Fumito,

I have discovered that problem lies in optimizations of Net+ARM serial port
driver (/drivers/char/serial_netarm.c). There is function nas_tx_wait_rdy
which schedule task if transmitter is not ready, but on heavy load something
goes wrong and system crashed. I'm not Kernel specialist, but when I replace
calling function nas_tx_wait_rdy by nas_tx_wait_rdy_poll then everything
works right.

Best regards and thank You for help.

Tomas Paukrt


----- Original Message -----
From: "Fumito Morishima" <email@hidden>
To: "Armadillo series general discussion list"
<email@hidden>
Sent: Saturday, June 25, 2005 2:58 AM
Subject: [Armadillo:00386] Re: uClinux crash


> Hello Tomas
>
> There is the document described how to make pppd work on Armadillo-J. It
> may help you but Japanese.
>
http://armadillo.atmark-techno.com/armadillo-j/memo/DialupRouter/uClinux-dis
t-router.patch
>
> Its summay is below,
>
> 1. Prepare three files
> - uClinux-dist-aj200xxxx.tar.gz
> - ppp-2.4.1.tar.gz (ftp://cs.anu.edu.au/pub/software/ppp/)
> - uClinux-dist-router.patch
>
(http://armadillo.atmark-techno.com/armadillo-j/memo/DialupRouter/uClinux-di
st-router.patch)
>
> 2. Type some commands along to explanation below
> - tar zxvf ~/uClinux-dist-at200xxxx.tar.gz
> - cd uClinux-dist
> - tar zxvf ~/ppp-2.4.1.tar.gz -C user/
> - patch -p0 < ~/uClinux-dist-router.patch
> - chmod 755 vendors/AtmarkTechno/Armadillo-J.Base/etc/rc.d/rc.start/*
>
> 3. Modify some files to change setting
> - vendors/AtmarkTechno/Armadillo-J.Base/etc/default/options
> - vendors/AtmarkTechno/Armadillo-J.Base/etc/default/dial
> - vendors/AtmarkTechno/Armadillo-J.Base/etc/default/chap-secrets
>
> 4. Compile
> - make menuconfig
>
> I hope it helps you and pppd works well.
>
> --
> Fumito Morishima
>
> > I am developing GPRS router with uClinux. I am running the
> > 2.4.22-uc0-aj1 kernel from the aj20050105 uClinux distribution. The
> > system is working correctly, but when I do a telnet connection and
> > execute few commands in shell during transfering data through GPRS,
> > system suddenly freeze without printing any error message into
> > console. It also happen when I only transfer data through connected
> > GPRS modem for about one hour. I tried pppd 2.4.1 instead of 2.3.8,
> > but it didn't help.
> >
> > Thanks for any hint or suggestion.
> >
> > Tomas Paukrt
> >
> >
> > Uncompressing  kernel.................................done.
> > Linux version 2.4.22-uc0-aj1 (email@hidden <mailto:email@hidden>) (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/)) #9 Wed Jun 22 08:01:52 UTC 2005
> >    Processor: ARM/VLSI ARM 7 TDMI revision 0
> >  Architecture: NET+ARM
> >  fixup_netarm: Kernel memory start 0x00000000 end 0x00126000
> >    On node 0 totalpages: 2048
> > zone(0): 0 pages.
> >  zone(1): 2048 pages.
> >   zone(2): 0 pages.
> >  Kernel command line: root=/dev/mtdblock4 rootfstype=jffs2
> >  setup_timer : T2 CTL = D0000008
> >    setting up timer IRQ
> >   Calibrating delay loop...   8.93 BogoMIPS
> >  Memory:  8MB = 8MB total
> >   Memory: 6916KB available (944K code, 229K data, 40K init)
> >  Dentry cache hash table entries: 1024 (order: 1, 8192 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: 2048 (order: 1, 8192 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
> >    JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis
> > Communications AB.
> > Net+ARM serial driver version 0.2 (2002-02-27) with CONSOLE enabled
> >    ttyS00 at 0x0001 (irq = 15) is a NetARM
> >    ttyS01 at 0x0002 (irq = 13) is a NetARM
> >    ns7520port: port driver, (C) 2004 Atmark Techno, Inc.
> >  Software Watchdog Timer: 0.05, timer margin: 60 sec
> >    NS7520 Ethernet Driver Initialized
> > PPP generic driver version 2.4.2
> >   PPP MPPE compression module registered
> > Initializing Armadillo-J MTD mappings
> >   Amd/Fujitsu Extended Query Table v1.0 at 0x0040
> >   number of CFI chips: 1
> > cfi_cmdset_0002: Disabling fast programming due to code brokenness.
> >    Creating 7 MTD partitions on "Flash":
> >  0x00000000-0x00020000 : "Flash/Reserved"
> >   0x00020000-0x00040000 : "Flash/Hermit"
> > 0x00040000-0x00200000 : "Flash/Image"
> >  0x00040000-0x000b0000 : "Flash/Kernel"
> > 0x000b0000-0x00200000 : "Flash/User"
> >   0x001e0000-0x001f0000 : "Flash/Backup"
> > 0x001f0000-0x00200000 : "Flash/Config"
> > 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)
> > GRE over IPv4 tunneling driver
> > ip_conntrack version 2.1 (64 buckets, 512 max) - 320 bytes per conntrack
> >   ip_tables: (C) 2000-2002 Netfilter core team
> >   NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
> >    jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
> > 0x00000000: 0x0ee6 instead
> >  jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
> > 0x00000004: 0xbd4d instead
> >  jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
> > 0x00000008: 0x53df instead
> >  jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
> > 0x0000000c: 0x089a instead
> >  jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
> > 0x00000010: 0x22ef instead
> >  jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
> > 0x00000014: 0xbf06 instead
> >  jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
> > 0x00000018: 0xd8dd instead
> >  jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
> > 0x0000001c: 0x7df0 instead
> >  jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
> > 0x00000020: 0xc670 instead
> >  jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
> > 0x00000024: 0xe6ff instead
> >  Further such events for this erase block will not be printed
> >   JFFS2: Erase block at 0x00000000 is not formatted. It will be erased
> >   VFS: Mounted root (jffs2 filesystem) readonly.
> > init started:  BusyBox v0.60.5 (2005.06.17-09:39+0000) multi-call binary
> > BINFMT_FLAT: Loading file: /etc/rc.d/rc.sysinit
> >    Mounting proc: done
> > Mounting var: done
> > Populating /var: done
> > Remounting root file system: done
> > Testing RST button: not pressed
> > Creating hardlinks: done
> > Removing stale log socket: done
> > Setting hostname: done
> > Starting watchdog: done
> > Running local start scripts.
> > Starting pppd: ....
> >
> >------------------------------------------------------------------------
> >
> >_______________________________________________
> >armadillo mailing list
> >email@hidden
> >http://lists.atmark-techno.com/mailman/listinfo/armadillo
> >
> >
>
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo
>




armadillo メーリングリストの案内