Opened 3 years ago

Closed 3 years ago

#19204 closed defect (invalid)

How to upload new kernel image on Sercomm NA900 modem

Reported by: anonymous Owned by: developers
Priority: normal Milestone: Bugs Paradise
Component: kernel Version: Trunk
Keywords: Cc:


After rebooting the device showing the following messages

U-Boot 1.1.3 (Jan 19 2012 - 17:39:30)

Board: Ralink APSoC DRAM: 128 MB
relocate_code Pointer at: 87fa8000
Ralink UBoot Version:

Model: NA900
ASIC 3883_MP (MAC to 100SW Mode)
DRAM component: 1024 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 128 MBytes
Flash component: NAND Flash
Date:Jan 19 2012 Time:17:39:30
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

##### The CPU freq = 500 MHZ ####

SDRAM bus set to 32 bit
SDRAM size =128 Mbytes

Reg 0 value is : 301
PHY unqiue identifier is 4d
Switch operate in PHY mode

Please choose the operation:

1: Load system code to SDRAM via TFTP.
2: Load system code then write to Flash via TFTP.
3: Boot system code via Flash (default).
4: Entr boot command line interface.
5: Entr Sercomm SL2CP mode.
6: Entr Sercomm MT code.
7: Load Boot Loader code then write to Flash via Serial.
9: Load Boot Loader code then write to Flash via TFTP.

0: Enter Sercomm Download mode.


3: System Boot system code via Flash.
## Booting image at bc0f0000 ...

Image Name: MIPS OpenWrt Linux-
Created: 2013-11-15 6:58:36 UTC
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 805231 Bytes = 786.4 kB
Load Address: 80000000
Entry Point: 80000000

.................................................. Verifying Checksum ... OK

Uncompressing Kernel Image ... OK

No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 128

Starting kernel ...

Linux version (ims@imsdev) (gcc version 4.5.2 (Linaro GCC 4.5-2011.02-0) ) #1 Fri Nov 15 12:28:28 IST 2013
CPU revision is: 0001974c (MIPS 74Kc)
Ralink RT3883 ver:1 eco:5 running at 500.00 MHz
Determined physical RAM map:

memory: 08000000 @ 00000000 (usable)

Initrd not found or empty - disabling initrd
Zone PFN ranges:

Normal 0x00000000 -> 0x00008000

Movable zone start PFN for each node
early_node_map[1] active PFN ranges

0: 0x00000000 -> 0x00008000

Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: console=ttyS1,57600 board=NA900 rootfstype=squashfs,jffs2
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
Writing ErrCtl register=00000000
Readback ErrCtl register=00000000
Memory: 127508k/131072k available (1823k kernel code, 3564k reserved, 319k data, 148k init, 0k highmem)
SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
console [ttyS1] enabled
Calibrating delay loop... 249.85 BogoMIPS (lpj=1249280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16
MIPS: machine is Sercomm NA900
bio: create slab <bio-0> at 0
i2c-gpio i2c-gpio: using pins 1 (SDA) and 2 (SCL)
Switching to clocksource MIPS
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
squashfs: version 4.0 (2009/01/31) Phillip Lougher
JFFS2 version 2.2 (NAND) (ZLIB) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
msgmni has been set to 249
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x10000500 (irq = 13) is a 16550A
serial8250: ttyS1 at MMIO 0x10000c00 (irq = 20) is a 16550A
ra_nand_probe: alloc 7f8, at 87841000 , btt(878415f8, 200), mtd:87841000
Creating 10 MTD partitions on "ramips-nand":
0x000000000000-0x000000080000 : "u-boot"
ra_nand_block_checkbad: offs:18000 tag: BAD
ra_nand_block_checkbad: offs:1c000 tag: BAD
ra_nand_block_checkbad: offs:20000 tag: BAD
0x000000080000-0x0000000a0000 : "config"
0x0000000a0000-0x0000000b0000 : "factory"
0x0000000b0000-0x0000000d0000 : "config_default"
0x0000000d0000-0x0000000f0000 : "user_storage"
0x0000000f0000-0x0000004f0000 : "kernel"
0x0000004f0000-0x000000cf0000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
0x000000cf0000-0x0000017f0000 : "rootfs_data"
ra_nand_block_checkbad: offs:1594000 tag: BAD
0x0000017f0000-0x000001ff0000 : "user_data"
0x000001ff0000-0x000002000000 : "pid"
ramips_mdio: probed
eth0: AR8236 switch driver attached.
rtc-s35390a 0-0030: rtc core: registered rtc-s35390a as rtc0
TCP westwood registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@…>
All bugs added by David S. Miller <davem@…>
rtc-s35390a 0-0030: setting system clock to 2015-03-18 11:57:52 UTC (1426679872)
VFS: Mounted root (squashfs filesystem) readonly on device 31:6.
Freeing unused kernel memory: 148k freed
input: gpio-buttons as /devices/platform/gpio-buttons/input/input0
Button Hotplug driver version 0.4.3

  • preinit -

Press the [f] key and hit [enter] to enter failsafe mode
eth0: link up (100Mbps/Full duplex)

  • regular preinit -

Empty flash at 0x005312cc ends at 0x00531400
Empty flash at 0x00531ce4 ends at 0x00531e00
ra_nand_block_checkbad: offs:1594000 tag: BAD
nfc_ecc_verify mode:read, invalid ecc, page: accb read:20 ffffff80 4, ecc:659565
nfc_read_page: fail, buf:878411d8, page:accb, flag:7
read again:
nfc_ecc_verify mode:read, invalid ecc, page: accb read:20 ffffff80 4, ecc:659565
nfc_read_page: fail, buf:878411d8, page:accb, flag:7
read again fail
BUG: Bad page state in process preinit pfn:07838
page:810f0700 count:0 mapcount:-1 mapping: (null) index:0x87838020
page flags: 0x0()
Call Trace:[<80005f78>] 0x80005f78
[<80005f78>] 0x80005f78
[<8004ebac>] 0x8004ebac
[<8004fd30>] 0x8004fd30
[<8007d418>] 0x8007d418
[<8007db40>] 0x8007db40
[<8004ff64>] 0x8004ff64
[<800809a8>] 0x800809a8
[<80062660>] 0x80062660
[<80050420>] 0x80050420
[<80017148>] 0x80017148
[<800171f8>] 0x800171f8
[<8007a694>] 0x8007a694
[<80079760>] 0x80079760
[<8007aa68>] 0x8007aa68
[<8007ea8c>] 0x8007ea8c
[<8000b40c>] 0x8000b40c
[<80002544>] 0x80002544

Disabling lock debugging due to kernel taint
switching to jffs2
BUG: Bad page state in process preinit pfn:07af1
page:810f5e20 count:0 mapcount:-3 mapping: (null) index:0x87af10c0
page flags: 0x0()
Call Trace:[<80005f78>] 0x80005f78
[<80005f78>] 0x80005f78
[<8004ebac>] 0x8004ebac
[<8004fd30>] 0x8004fd30
[<800f443c>] 0x800f443c
[<8004ff64>] 0x8004ff64
[<80062940>] 0x80062940
[<80050420>] 0x80050420
[<800177f0>] 0x800177f0
[<8000f488>] 0x8000f488
[<800184d0>] 0x800184d0
[<8001ccf8>] 0x8001ccf8
[<8000b3b4>] 0x8000b3b4
[<80002544>] 0x80002544
[<8001cd24>] 0x8001cd24

  • init -

Please press Enter to activate this console. Compat-wireless backport release: compat-wireless-2011-05-23
Backport based on wireless-testing.git master-2011-05-27
cfg80211: Calling CRDA to update world regulatory domain
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
cfg80211: World regulatory domain updated:
cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
phy0 -> rt2x00lib_request_eeprom_file: Error - Failed to request EEPROM.
rt2800_wmac: probe of rt2800_wmac.0 failed with error -2
PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 24
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
rt3883-ehci rt3883-ehci: Ralink RT3883 built-in EHCI controller
rt3883-ehci rt3883-ehci: new USB bus registered, assigned bus number 1
rt3883-ehci rt3883-ehci: irq 26, io mem 0x101c0000
rt3883-ehci rt3883-ehci: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
nf_conntrack version 0.5.0 (1994 buckets, 7976 max)
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
rt3883-ohci rt3883-ohci: Ralink RT3883 built-in OHCI controller
rt3883-ohci rt3883-ohci: new USB bus registered, assigned bus number 2
rt3883-ohci rt3883-ohci: irq 26, io mem 0x101c1000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected

The files are corrupted and the file system becomes Read only and the files in /etc/config are lost. The IP settings are also lost.

Attachments (0)

Change History (1)

comment:1 Changed 3 years ago by jogo

  • Resolution set to invalid
  • Status changed from new to closed

This is neither a recent OpenWrt version, nor a supported board. Please ask those who provided you with the sources for assistance.

Generally you cannot use squashfs on NAND flash, squashfs cannot handle bad blocks nor bit flips, resulting in the corruption you see. You need to use a filesystem that can handle those, like ubifs.

Add Comment

Modify Ticket

as closed .
The resolution will be deleted. Next status will be 'reopened'.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.