OpenWrt Forum Archive

Topic: 32MB flash in TL-MR11U/AR9331-based HW

The content of this topic has been archived between 7 Apr 2018 and 22 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Congratulations!!
Excellent job!!

I see that new SPI chips have Extended registers/ bank registers
like N25Q512A or spansion chips
potentially we can use some glue code to do hardware mapped memory access inside each 16M blocks with 24bit address mode

otlabs wrote:

Here comes quilt patch with your changes against current trunk:

diff --git a/target/linux/ar71xx/patches-3.10/940-add-32mb-flash-support.patch b/target/linux/ar71xx/patches-3.10/940-add-32mb-flash-support.patch
new file mode 100644
index 0000000..7bca77e
--- /dev/null
+++ b/target/linux/ar71xx/patches-3.10/940-add-32mb-flash-support.patch
@@ -0,0 +1,31 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -1137,6 +1137,13 @@ static int m25p_remove(struct spi_device
+     struct m25p    *flash = dev_get_drvdata(&spi->dev);
+     int        status;
+ 
++    const struct spi_device_id    *id = spi_get_device_id(spi);
++
++    struct flash_info *info = (void *)id->driver_data;
++    // return 3-byte address mode so harware FTLs do not get confused.
++
++    set_4byte(flash, info->jedec_id, 0);
++
+     /* Clean up MTD stuff. */
+     status = mtd_device_unregister(&flash->mtd);
+     if (status == 0) {
+--- a/drivers/spi/spi-ath79.c
++++ b/drivers/spi/spi-ath79.c
+@@ -335,9 +335,9 @@ static int ath79_spi_setup_transfer(stru
+         return ret;
+ 
+     cdata = spi->controller_data;
+-    if (cdata->is_flash)
+-        sp->bitbang.txrx_bufs = ath79_spi_txrx_bufs;
+-    else
++    // if (cdata->is_flash)
++    //     sp->bitbang.txrx_bufs = ath79_spi_txrx_bufs;
++    // else
+         sp->bitbang.txrx_bufs = spi_bitbang_bufs;
+ 
+     return ret;

where do you quilt patch in??

Guys,
I manage to get 32MB SPI chip recognize by openwrt.
However wireless init fail.
I have copied ART partition and locate it at the end of SPI address 0x000001ff0000-0x000002000000
Please help .... Anything I'm missing here?

here is dmesg log
[    0.000000] Linux version 3.14.30 (user@ubuntu) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r43976) ) #3 Thu Feb 5 15:30:18 EST 2015
[    0.000000] MyLoader: sysp=2c00ff65, boardp=2820efff, parts=01247d74
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
[    0.000000] SoC: Atheros AR9344 rev 2
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 08000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x00000000-0x07ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000-0x07ffffff]
[    0.000000] On node 0 totalpages: 32768
[    0.000000] free_area_init_node: node 0, pgdat 80336420, node_mem_map 81000000
[    0.000000]   Normal zone: 256 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line:  board=MYNET-N750 console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,32256k(firmware),64k(radiocfg)ro rootfstype=squashfs,jffs2 noinitrd
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 126116K/131072K available (2372K kernel code, 120K rwdata, 500K rodata, 200K init, 187K bss, 4956K reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Clocks: CPU:560.000MHz, DDR:480.000MHz, AHB:240.000MHz, Ref:40.000MHz
[    0.000000] Calibrating delay loop... 278.93 BogoMIPS (lpj=1394688)
[    0.070000] pid_max: default: 32768 minimum: 301
[    0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.080000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.080000] NET: Registered protocol family 16
[    0.090000] MIPS: machine is WD My Net N750
[    0.120000] registering PCI controller with io_map_base unset
[    0.360000] bio: create slab <bio-0> at 0
[    0.360000] PCI host bridge to bus 0000:00
[    0.370000] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff]
[    0.370000] pci_bus 0000:00: root bus resource [io  0x0000]
[    0.380000] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.380000] pci 0000:00:00.0: [168c:0030] type 00 class 0x028000
[    0.380000] pci 0000:00:00.0: invalid calibration data
[    0.390000] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x0001ffff 64bit]
[    0.390000] pci 0000:00:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    0.390000] pci 0000:00:00.0: supports D1
[    0.390000] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    0.390000] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    0.390000] pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x1001ffff 64bit]
[    0.390000] pci 0000:00:00.0: BAR 6: assigned [mem 0x10020000-0x1002ffff pref]
[    0.400000] pci 0000:00:00.0: using irq 40 for pin 1
[    0.400000] Switched to clocksource MIPS
[    0.410000] NET: Registered protocol family 2
[    0.410000] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.410000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.420000] TCP: Hash tables configured (established 1024 bind 1024)
[    0.430000] TCP: reno registered
[    0.430000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.430000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.440000] NET: Registered protocol family 1
[    0.450000] PCI: CLS 0 bytes, default 32
[    0.450000] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.470000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.470000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.490000] msgmni has been set to 246
[    0.490000] io scheduler noop registered
[    0.490000] io scheduler deadline registered (default)
[    0.500000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.530000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 2500000) is a 16550A
[    0.530000] console [ttyS0] enabled
[    0.540000] bootconsole [early0] disabled
[    0.550000] m25p80 spi0.0: found mx25l25635e, expected m25p80
[    0.560000] m25p80 spi0.0: mx25l25635e (32768 Kbytes)
[    0.560000] 6 cmdlinepart partitions found on MTD device spi0.0
[    0.570000] Creating 6 MTD partitions on "spi0.0":
[    0.580000] 0x000000000000-0x000000040000 : "u-boot"
[    0.580000] 0x000000040000-0x000000050000 : "u-boot-env"
[    0.590000] 0x000000050000-0x000000060000 : "devdata"
[    0.600000] 0x000000060000-0x000000070000 : "devconf"
[    0.600000] 0x000000070000-0x000001ff0000 : "firmware"
[    0.700000] 2 seama-fw partitions found on MTD device firmware
[    0.710000] 0x000000070000-0x0000001b0000 : "kernel"
[    0.720000] 0x0000001b0000-0x000001ff0000 : "rootfs"
[    0.720000] mtd: device 6 (rootfs) set to be root filesystem
[    0.730000] 1 squashfs-split partitions found on MTD device rootfs
[    0.740000] 0x000000390000-0x000001ff0000 : "rootfs_data"
[    0.740000] 0x000001ff0000-0x000002000000 : "radiocfg"
[    1.760000] switch0: Atheros AR8327 rev. 2 switch registered on ag71xx-mdio.0
[    1.820000] libphy: ag71xx_mdio: probed
[    3.410000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd033, driver=Atheros AR8216/AR8236/AR8316]
[    3.430000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:RGMII
[    3.430000] TCP: cubic registered
[    3.440000] NET: Registered protocol family 17
[    3.440000] 8021q: 802.1Q VLAN Support v1.8
[    3.460000] VFS: Mounted root (squashfs filesystem) readonly on device 31:6.
[    3.470000] Freeing unused kernel memory: 200K (8034e000 - 80380000)
[    6.440000] usbcore: registered new interface driver usbfs
[    6.450000] usbcore: registered new interface driver hub
[    6.450000] usbcore: registered new device driver usb
[    6.460000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.470000] ehci-platform: EHCI generic platform driver
[    6.480000] ehci-platform ehci-platform: EHCI Host Controller
[    6.480000] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
[    6.490000] ehci-platform ehci-platform: irq 3, io mem 0x1b000000
[    6.520000] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
[    6.520000] hub 1-0:1.0: USB hub found
[    6.530000] hub 1-0:1.0: 1 port detected
[    6.850000] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    7.010000] hub 1-1:1.0: USB hub found
[    7.010000] hub 1-1:1.0: 4 ports detected
[    7.440000] random: mktemp urandom read with 55 bits of entropy available
[    8.430000] eth0: link up (1000Mbps/Full duplex)
[   10.430000] Atheros AR8216/AR8236/AR8316 ag71xx-mdio.0:00: Port 1 is up
[   10.640000] eth0: link down
[   12.980000] NET: Registered protocol family 10
[   12.990000] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   13.000000] Loading modules backported from Linux version master-2014-11-04-0-gf3660a2
[   13.010000] Backport generated by backports.git backports-20141023-2-g4ff890b
[   13.020000] ip_tables: (C) 2000-2006 Netfilter Core Team
[   13.040000] nf_conntrack version 0.5.0 (1973 buckets, 7892 max)
[   13.080000] xt_time: kernel timezone is -0000
[   13.110000] cfg80211: Calling CRDA to update world regulatory domain
[   13.110000] cfg80211: World regulatory domain updated:
[   13.120000] cfg80211:  DFS Master region: unset
[   13.120000] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[   13.130000] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   13.140000] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   13.150000] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[   13.160000] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[   13.160000] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[   13.170000] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[   13.180000] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[   13.190000] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[   13.260000] PPP generic driver version 2.4.2
[   13.270000] NET: Registered protocol family 24
[   13.320000] ath: phy0: Unable to initialize hardware; initialization status: -5
[   13.320000] ath9k ar934x_wmac: failed to initialize device
[   13.330000] ath9k: probe of ar934x_wmac failed with error -5
[   13.340000] PCI: Enabling device 0000:00:00.0 (0000 -> 0002)
[   13.350000] ath: phy1: Unable to initialize hardware; initialization status: -5
[   13.350000] ath9k 0000:00:00.0: Failed to initialize device
[   13.360000] ath9k: probe of 0000:00:00.0 failed with error -5
[   20.800000] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0

dony71 wrote:
gerritb wrote:

Alternatively, I merged the ART partition into the second sector of the flash so I could change the KSEG address to 0x101f1000.

gerritb,
can you explain a bit details why change "(u8 *) KSEG1ADDR(0x101f1000);" instead of "(u8 *) KSEG1ADDR(0x1fff1000);" will solve this issue?
which physical address you locate ART partition in this case?

Since no reply yet, I try to analyze this by put printk comment to check physical address
printk(KERN_DEBUG "KSEG1ADDR(0x101f1000) = %0x8x \n",(u32)ee);

Strangely, no message dump out during boot up
check kernel config and already support printk
i guess, i'm stuck now waiting for help

(Last edited by dony71 on 7 Feb 2015, 01:52)

- check your compilation settings / your Kernel commandline
KERN_DEBUG is probably only printed when there is a "debug" string in cmdline.
Either add sth. to that Kernel commandline (afaik somewhere in target/linux/<arch>/image/Makefile - look for the other components of the kernel cmdline (tty , boardname) // don't know if you can change the cmdline with some setting

alternative:
instead of DEBUG use INFO, WARN or ERROR

- regarding KSEG1 / address debugging

This area is most often used for I/O addresses and boot ROM.

notice some boot messages from multiple different MIPS based boards

FLASH: 0xbf000000 - 0xbf7f0000, 128 blocks of 0x00010000 bytes each.
eth0: Atheros AG71xx at 0xb9000000, irq 4
..
ralink flash device: 0x1000000 at 0xbf000000
...
serial8250.0: ttyS0 at MMIO 0xb8020000 (irq = 19) is a 16550A

A physical device like ethernet chip a flash chip is mapped to an address.
So reading from that address reads the Flash content.
You have a flash chip with addresses from 0... mapped to
some space in in 0xA000,0000 (KSEG1 start) -0xBFFF,FFFF (KSEG1 end)

Example: Carambola2 (mach-carambola2.c in build_dir/target.../linux-arch../linux-3.14.x/arch/mips/ath79/)
The KSEG1ADDR is a macro - afaik the address is
A000,0000+offset when KSEG1ADDR(offset) is used
using 1fff,000 means BFFF,0000
Now keep in mind - one msg from earlier - at mips the Flash is (always?/often) mapped at 0xbf00,0000 ....
so you have an remaining offset of 0xff,0000

Compare this to the art partition start on the wiki page: http://wiki.openwrt.org/toh/8devices/carambola2

At least that how I understand this works. Feel free to correct smile
you can search with grep or for commit correcting WMAC/MAC detection or the different flavors of how the MAC/PCI init with KSEG1ADDR is done on the MIPS platform.

zloop wrote:

- check your compilation settings / your Kernel commandline
KERN_DEBUG is probably only printed when there is a "debug" string in cmdline.
Either add sth. to that Kernel commandline (afaik somewhere in target/linux/<arch>/image/Makefile - look for the other components of the kernel cmdline (tty , boardname) // don't know if you can change the cmdline with some setting

alternative:
instead of DEBUG use INFO, WARN or ERROR

- regarding KSEG1 / address debugging

This area is most often used for I/O addresses and boot ROM.

notice some boot messages from multiple different MIPS based boards

FLASH: 0xbf000000 - 0xbf7f0000, 128 blocks of 0x00010000 bytes each.
eth0: Atheros AG71xx at 0xb9000000, irq 4
..
ralink flash device: 0x1000000 at 0xbf000000
...
serial8250.0: ttyS0 at MMIO 0xb8020000 (irq = 19) is a 16550A

A physical device like ethernet chip a flash chip is mapped to an address.
So reading from that address reads the Flash content.
You have a flash chip with addresses from 0... mapped to
some space in in 0xA000,0000 (KSEG1 start) -0xBFFF,FFFF (KSEG1 end)

Example: Carambola2 (mach-carambola2.c in build_dir/target.../linux-arch../linux-3.14.x/arch/mips/ath79/)
The KSEG1ADDR is a macro - afaik the address is
A000,0000+offset when KSEG1ADDR(offset) is used
using 1fff,000 means BFFF,0000
Now keep in mind - one msg from earlier - at mips the Flash is (always?/often) mapped at 0xbf00,0000 ....
so you have an remaining offset of 0xff,0000

Compare this to the art partition start on the wiki page: http://wiki.openwrt.org/toh/8devices/carambola2

At least that how I understand this works. Feel free to correct smile
you can search with grep or for commit correcting WMAC/MAC detection or the different flavors of how the MAC/PCI init with KSEG1ADDR is done on the MIPS platform.

zloop,
thank's for explanation.
I understand for carambola example since flash map at 0xbf00,0000
so for getting art partition then needs KSEG1ADDR(0x1fff0000)
However for this TL-MR11U / TL-MR3040 device, my understanding flash map at 0x9f00,0000
http://wiki.openwrt.org/toh/tp-link/tl-mr3040
You can see in link above when update openwrt will erase at 0x9f02,0000
but why for getting art partition needs KSEG1ADDR(0x1fff1000) ?

In this thread topic, flash upgraded to 32MB then mips comments

mips wrote:

The "(u8 *) KSEG1ADDR(0x1fff1000);" will auto map to the end 64k of the flash,no matter your flash is 4M/8M/16M.but now it's not work.
When access flash more than 16M,you can't use this SoC aready mapped address.

then gerritb said to have work-around this, to read art partition he change art location and change KSEG1ADDR like comment below

gerritb wrote:

Alternatively, I merged the ART partition into the second sector of the flash so I could change the KSEG address to 0x101f1000.

My understanding cannot follow this
If flash start map at 0x9f00,0000 then won't cover KSEG1 + 0x1fff,ffff
So if KSEG1ADDR(0x101f1000) where is art physical address located?

for ramips there is
- https://dev.openwrt.org/browser/trunk/t … dule.patch

The difference between 0x9f.. & 0x8f.. is according to documents if its cached or not cached.
( http://www.eecs.harvard.edu/~mdw/course … b-cpu.html )

The Flash can be mapped multiple times into RAM.

According to the "AR9331 data sheet"

"Upon reset, the CPU puts out an address of 0xBFC00000 which is mapped to the flash address space or internal ROM code, using an external pull up/down register to choose if the AR9331 will boot from
the Flash or internal ROM.

regarding the addresses:
Check an u-boot partition dump - there is probably some string/u-boot-env mini settings partition
and offset 0x1,fc00 contains the MAC (use "strings" to check for readable string inside the dump)

zloop wrote:

According to the "AR9331 data sheet"

"Upon reset, the CPU puts out an address of 0xBFC00000 which is mapped to the flash address space or internal ROM code, using an external pull up/down register to choose if the AR9331 will boot from
the Flash or internal ROM.

Thank you again for details explanation.
I think I understand now this original memory map, but correct me if I'm wrong.
By default re_map disable so flash address is 0xBFC00000 ~ 0xBFFFFFFF
That will give total flash space only 4MB .

In this topic flash chip modified to 32MB flash chip.
Originally to access ART partition (mtd4) which located in the last 64KB.
That's why the code to read this partition will be "(u8 *) KSEG1ADDR(0x1fff1000);"  (KSEG1ADDR(0x1fff0000) + 0x1000 offset where radio wireless initialization parameter located).

The thing that I still don't understand when flash modified to 32MB, gerritb said :

gerritb wrote:

Alternatively, I merged the ART partition into the second sector of the flash so I could change the KSEG address to 0x101f1000.

He relocated ART partition to different address and to read this wireless initialization parameter, change the code to "(u8 *) KSEG1ADDR(0x101f1000);".
This translate to KSEG1ADDR(0x101f0000) + 0x1000 offset where radio wireless initialization parameter located.
KSEG1ADDR(0x101f0000) translate to virtual address 0xB01F0000.
This is below where CPU starts to read 0xBFC00000 like mention in datasheet. This really puzzle me, where is this physical flash address located?

zloop wrote:

regarding the addresses:
Check an u-boot partition dump - there is probably some string/u-boot-env mini settings partition
and offset 0x1,fc00 contains the MAC (use "strings" to check for readable string inside the dump)

I check u-boot dump binary and cannot find "u-boot-env" string.
Also u-boot-env.bin doesn't mention partition where MAC address located.
MAC offset location 0x1,FC00 translate to 127KB
Based on TL-MR3040 wiki, mtd size > 127K only u-boot, kernel or rootfs,
so most likely MAC address in u-boot partition.
Does it mean KSEG1ADDR(0x101f0000) = u-boot partition?

(Last edited by dony71 on 8 Feb 2015, 09:47)

@dony71 AR9331 can map only 16 MB for FLASH in address space and because of that you have to reallocate ART partition, to be able to read data from it using direct access (mapped memory).

pepe2k wrote:

@dony71 AR9331 can map only 16 MB for FLASH in address space and because of that you have to reallocate ART partition, to be able to read data from it using direct access (mapped memory).

I know that
My question which address location of art did gerritb moved to?

dony71 wrote:
pepe2k wrote:

@dony71 AR9331 can map only 16 MB for FLASH in address space and because of that you have to reallocate ART partition, to be able to read data from it using direct access (mapped memory).

I know that
My question which address location of art did gerritb moved to?

U-Boot set bit REMAP_DISABLE to 1 in low level initialization stage, so whole 16 MB is accessible later.
Take a look here too: https://forum.openwrt.org/viewtopic.php … 23#p193023

As far as I understand, gerritb merged ART with second sector (every sector is 64 KB) in FLASH.
http://www.tech-blog.pl/wordpress/wp-content/uploads/2013/03/tl-mr3020_flash_layout.gif

MAC address in MR3020 (and in most of TP-Link devices) is stored in second sector too, at offset 0x1fc00 (from begin of FLASH) or at offset 0xfc00 (from begin of second sector), rest of the second sector is empty and not used. So, MAC address offset is:

u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);

ART partition is always in last 64 KB sector (the following code maps always to last sector, no matter what FLASH size you have - you can use FLASH chip with 4, 8 or 16 MB, with ART partition in last sector and you won't need to change the code). Usable data starts inside ART partition at offset 0x1000, so we use the following offset:

u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);

IMHO, if you merge ART data with second sector, address should look like:

u8 *ee = (u8 *) KSEG1ADDR(0x1f011000);

I don't know why gerritb wrote about 0x101f1000 address.

Take a look also at DIR-505 initialization, that device has ART partition in second sector, in FLASH:

[...]
#define DIR_505A1_ART_ADDRESS          0x1f010000
#define DIR_505A1_CALDATA_OFFSET       0x1000
[...]
u8 *art = (u8 *) KSEG1ADDR(DIR_505A1_ART_ADDRESS);
[...]
ath79_register_wmac(art + DIR_505A1_CALDATA_OFFSET, lan_mac);

So, the final address is also KSEG1ADDR(0x1f011000).

thanks pepe2k for that great writeup

pepe2k,
you're the man !!
very well explanation clearing my confusion.
thank's very much for spending time to explain this in this great open forum community .

btw, i know you make U-Boot mod for routers with AR9331/AR9344 at
https://forum.openwrt.org/viewtopic.php?id=43237
my understanding this mod doesn't support 32MB flash.
when i try to flash firmware in webfail-safe mode, my u-boot got corrupted.
can you give me some hints where in code to modify to support 32MB flash?

dony71 wrote:

pepe2k,
you're the man !!
very well explanation clearing my confusion.
thank's very much for spending time to explain this in this great open forum community .

You're welcome smile

dony71 wrote:

btw, i know you make U-Boot mod for routers with AR9331/AR9344 at
https://forum.openwrt.org/viewtopic.php?id=43237
my understanding this mod doesn't support 32MB flash.
when i try to flash firmware in webfail-safe mode, my u-boot got corrupted.
can you give me some hints where in code to modify to support 32MB flash?

How exactly your U-Boot got corrupted? FLASH related functions are here: https://github.com/pepe2k/u-boot_mod/bl … 40_flash.c

pepe2k wrote:
dony71 wrote:

pepe2k,
you're the man !!
very well explanation clearing my confusion.
thank's very much for spending time to explain this in this great open forum community .

You're welcome smile

dony71 wrote:

btw, i know you make U-Boot mod for routers with AR9331/AR9344 at
https://forum.openwrt.org/viewtopic.php?id=43237
my understanding this mod doesn't support 32MB flash.
when i try to flash firmware in webfail-safe mode, my u-boot got corrupted.
can you give me some hints where in code to modify to support 32MB flash?

How exactly your U-Boot got corrupted? FLASH related functions are here: https://github.com/pepe2k/u-boot_mod/bl … 40_flash.c

In fact region corrupted is more than uboot sector.
Flash 0 ~ 0x16,ffd0 corrupted.
I notice base address is 16M in ar7240_spi.c
I think there will be extensive code modification to support 32M,
which might be beyond my ability to tweak.

I implement KSEG1ADDR(0x1f011000) like pepe2k suggestion and no problem anymore with wireless initialization. however i have another problem now.
when i do reboot either from openwrt gui or from ssh console, kernel will hang.
below is the  kernel dump. anybody knows why?

root@MyNetN750:/# reboot
procd: - shutdown -
root@MyNetN750:/# [  227.160000] br-lan: port 3(wlan0) entered disabled state
[  227.160000] br-lan: port 2(wlan1) entered disabled state
[  227.170000] br-lan: port 1(eth0.2) entered disabled state
[  227.180000] device eth0.2 left promiscuous mode
[  227.190000] br-lan: port 1(eth0.2) entered disabled state
[  227.190000] IPv6: ADDRCONF(NETDEV_UP): eth0.2: link is not ready
[  227.210000] device wlan0 left promiscuous mode
[  227.210000] br-lan: port 3(wlan0) entered disabled state
[  227.220000] device wlan1 left promiscuous mode
[  227.220000] br-lan: port 2(wlan1) entered disabled state
[  227.590000] device eth0 left promiscuous mode
[  227.600000] eth0: link down
procd: - SIGTERM processes -
Feb  9 23:35:10 transmission-daemon[3075]: Couldn't save temporary file "/overlay/transmission/settings.json.tmp.oolu9O": No such file or directory (variant.c:1227)
Feb  9 23:35:10 transmission-daemon[3075]: Closing session
procd:[  231.550000] Unhandled kernel unaligned access[#1]:
[  231.550000] CPU: 0 PID: 3375 Comm: procd Not tainted 3.14.30 #19
[  231.550000] task: 864d1320 ti: 87bd2000 task.ti: 87bd2000
[  231.550000] $ 0   : 00000000 00000001 ffffff71 00000001
[  231.550000] $ 4   : 8034fb58 87bd3b88 00000087 70000000
[  231.550000] $ 8   : 00000001 0e000000 87854481 00000200
[  231.550000] $12   : 10000000 20000000 40000000 02000000
[  231.550000] $16   : 87913210 878c4900 80354304 803b0000
[  231.550000] $20   : 80314c7c 80344e1c 803b0000 00000000
[  231.550000] $24   : 04000000 08000000
[  231.550000] $28   : 87bd2000 87bd3c00 7ff6e8a8 801b2210
[  231.550000] Hi    : 0000028f
[  231.550000] Lo    : 00000001
[  231.550000] epc   : 801b2210 m25p_remove+0x2c/0x1a4
[  231.550000]     Not tainted
[  231.550000] ra    : 801b2210 m25p_remove+0x2c/0x1a4
[  231.550000] Status: 1100dc03 KERNEL EXL IE
[  231.550000] Cause : 00800010
[  231.550000] BadVA : ffffff91
[  231.550000] PrId  : 0001974c (MIPS 74Kc)
[  231.550000] Modules linked in: ifb ath9k ath9k_common pppoe ppp_async iptable_nat ip6table_nat ath9k_hw ath pppox ppp_generic pl2303 nf_nat_pptp nf_nat_ipv6 nf_nat_ipv4 nf_nat_amanda nf_conntrack_pptp nf_conntrack_ipv6 nf_conntrack_ipv4 nf_conntrack_amanda mac80211 ftdi_sio cfg80211 xt_time xt_tcpudp xt_tcpmss xt_string xt_statistic xt_state xt_recent xt_quota xt_pkttype xt_owner xt_nat xt_multiport xt_mark xt_mac xt_limit xt_length xt_id xt_hl xt_helper xt_ecn xt_dscp xt_conntrack xt_connmark xt_connlimit xt_connbytes xt_comment xt_addrtype xt_TCPMSS xt_REDIRECT xt_NETMAP xt_LOG xt_HL xt_DSCP xt_CT xt_CLASSIFY usbserial ums_usbat ums_sddr55 ums_sddr09 ums_karma ums_jumpshot ums_isd200 ums_freecom ums_datafab ums_cypress ums_alauda ts_kmp ts_fsm ts_bm slhc nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_rtsp nf_nat_proto_gre nf_nat_irc nf_nat_h323 nf_nat_ftp nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_tftp nf_conntrack_snmp nf_conntrack_sip nf_conntrack_rtsp nf_conntrack_rtcache nf_conntrack_proto_gre nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack_broadcast iptable_raw iptable_mangle iptable_filter ipt_REJECT ipt_MASQUERADE ipt_ECN ip_tables crc_ccitt compat fuse act_connmark act_skbedit act_mirred em_u32 cls_u32 cls_tcindex cls_flow cls_route cls_fw sch_hfsc sch_ingress ledtrig_usbdev ip6t_NPT ip6t_MASQUERADE nf_nat nf_conntrack ip6t_rt ip6t_frag ip6t_hbh ip6t_eui64 ip6t_mh ip6t_ah ip6t_ipv6header ip6t_REJECT ip6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables nfsv3 nfs tun snd_compress snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_rawmidi snd_seq_device snd_hwdep snd soundcore vfat fat lockd sunrpc cifs nls_utf8 nls_iso8859_1 nls_cp437 ipv6 sha256_generic md5 md4 hmac ecb des_generic arc4 crypto_blkcipher usb_storage ohci_platform ohci_hcd ehci_platform ehci_hcd sd_mod scsi_mod gpio_button_hotplug ext4 crc16 jbd2 mbcache usbcore nls_base usb_common crypto_hash [last unloaded: ifb]
[  231.550000] Process procd (pid: 3375, threadinfo=87bd2000, task=864d1320, tls=77496440)
[  231.550000] Stack : 80314c7c 80344e1c 87915630 80000000 87bd3c78 87bd3c40 80314c7c 80344e1c
          803b0000 00000000 7ff6e8a8 8019d230 00000000 8019d8c0 879155a0 879155e8
          00000000 87bd3c44 87bd3c44 87915630 87911ee8 87915630 87911ee8 878c4900
          8034fbb4 80354304 803b0000 800df198 80354304 8012cfe8 00000000 878c4900
          8034fbb4 80354304 803b0000 8008d914 80344e1c 801a0a0c 80314c7c 80344e1c
          ...
[  231.550000] Call Trace:
[  231.550000] [<801b2210>] m25p_remove+0x2c/0x1a4
[  231.550000] [<8008d914>] __device_release_driver+0x6c/0xd0
[  231.550000] [<80113ccc>] device_release_driver+0x28/0x40
[  231.550000] [<800ee1f8>] bus_remove_device+0xec/0x120
[  231.550000] [<80113464>] device_del+0x110/0x170
[  231.550000] [<8011435c>] device_unregister+0x14/0x28
[  231.550000] [<800afdb8>] __unregister+0x18/0x30
[  231.550000] [<8011362c>] device_for_each_child+0x84/0x94
[  231.550000] [<80256c10>] spi_unregister_master+0x8c/0xa4
[  231.550000] [<80255788>] spi_bitbang_stop+0x10/0x20
[  231.550000] [<800ca3e0>] ath79_spi_remove+0x20/0x58
[  231.550000] [<801141e4>] device_shutdown+0x100/0x158
[  231.550000] [<8019ce04>] kernel_restart+0x14/0x6c
[  231.550000] [<80079504>] SyS_reboot+0xf8/0x1d4
[  231.550000] [<8006283c>] handle_sys+0x11c/0x140
[  231.550000]
[  231.550000]
Code: 02202021  0c062a05  00408021 <8c420020> 240300c2  94420000  10430022  240300ef  10430020
[  231.950000] ---[ end trace 56a15f3fb72857dd ]---

i'm using macronix 32MB p/n: MX25L25635F
more information on this shutdown hang issue
any idea what is "m25p80 spi0.0: error -143 reading SR" ?

root@OpenWrt:/# reboot
procd: - shutdown -
root@OpenWrt:/# [  546.820000] br-lan: port 3(wlan1) entered disabled state
[  546.820000] br-lan: port 2(wlan0) entered disabled state
[  546.830000] br-lan: port 1(eth0.1) entered disabled state
[  546.840000] device eth0.1 left promiscuous mode
[  546.850000] br-lan: port 1(eth0.1) entered disabled state
[  546.860000] IPv6: ADDRCONF(NETDEV_UP): eth0.1: link is not ready
[  546.900000] device wlan0 left promiscuous mode
[  546.900000] br-lan: port 2(wlan0) entered disabled state
[  546.910000] device wlan1 left promiscuous mode
[  546.910000] br-lan: port 3(wlan1) entered disabled state
[  547.270000] device eth0 left promiscuous mode
[  547.280000] eth0: link down
procd: - SIGTERM processes -
procd:[  551.270000] m25p80 spi0.0: error -143 reading SR
[  551.270000] Removing MTD device #8 (rootfs_data) with use count 1
[  551.290000] reboot: Restarting system

(Last edited by dony71 on 12 Feb 2015, 02:59)

activate debug level 4 shows this dump on reboot hang

root@OpenWrt:/# reboot
procd: signal_shutdown(51): Triggering reboot
procd: procd_shutdown(187): Shutting down system with event 1234567
procd: - shutdown -
procd: _rc(135): running /etc/rc.d/K* shutdown
procd: q_initd_run(71): start /etc/rc.d/K50dropbear shutdown
root@OpenWrt:/# procd: service_instance_update(62): Free instance dropbear::instance1
procd: q_initd_complete(101): stop /etc/rc.d/K50dropbear shutdown
procd: q_initd_run(71): start /etc/rc.d/K85odhcpd shutdown
procd: service_instance_update(62): Free instance odhcpd::instance1
procd: q_initd_complete(101): stop /etc/rc.d/K85odhcpd shutdown
procd: q_initd_run(71): start /etc/rc.d/K89log shutdown
procd: service_instance_update(62): Free instance log::instance1
procd: q_initd_complete(101): stop /etc/rc.d/K89log shutdown
procd: q_initd_run(71): start /etc/rc.d/K90network shutdown
procd: watch_notify_cb(107): Received ubus notify 'interface.down':
{"interface":"lan","up":false,"pending":false,"available":tr[   31.980000] br-lan: port 3(wlan1) entered disabled state
ue,"autostart":f[   31.980000] br-lan: port 2(wlan0) entered disabled state
alse,"proto":"st[   31.990000] br-lan: port 1(eth0.1) entered disabled state
atic","device":"br-lan","data":{}}
[   32.000000] device eth0.1 left promiscuous mode
[   32.000000] br-lan: port 1(eth0.1) entered disabled state
[   32.010000] IPv6: ADDRCONF(NETDEV_UP): eth0.1: link is not ready
procd: hotplug_handler_debug(404): {{"ACTION":"remove","DEVPATH"[   32.030000] device wlan0 left promiscuous mode
:"\/devices\/vir[   32.040000] br-lan: port 2(wlan0) entered disabled state
tual\/net\/eth0.1\/queues\/tx-0","SUBSYSTEM":"queues","SEQNUM":"[   32.050000] device wlan1 left promiscuous mode
433"}}
procd: h[   32.050000] br-lan: port 3(wlan1) entered disabled state
otplug_handler_debug(404): {{"ACTION":"remove","DEVPATH":"\/devices\/virtual\/net
\/eth0.1","SUBSYSTEM":"net","DEVTYPE":"vlan","INTERFACE":"eth0.1","IFINDEX":"6","SEQNUM":"434"}}
procd: rule_handle_command(355): Command: execprocd: rule_handle_command(357):  /sbin/hotplug-callprocd:
rule_handle_command(357):  netprocd: rule_handle_command(358):
procd: rule_handle_command(360): Message:procd: rule_handle_command(362):  ACTION=removeprocd: rule_handle_command(362):
DEVPATH=/devices/virtual/net/eth0.1procd: rule_handle_command(362):  SUBSYSTEM=netprocd: rule_handle_command(362):
DEVTYPE=vlanprocd: rule_handle_command(362):  INTERFACE=eth0.1procd: rule_handle_command(362):  IFINDEX=6procd:
rule_handle_command(362):  SEQNUM=434procd: rule_handle_command(363):
procd: queue_next(281): Launched hotplug exec instance, pid=1314
procd: hotplug_handler_debug(404): {{"ACTION":"remove","DEVPATH":"\/devices\/virtual\/net\/br-lan\/queues\/tx-
0","SUBSYSTEM":"queues","SEQNUM":"435"}}
procd: hotplug_handler_debug(404): {{"ACTION":"remove","DEVPATH":"\/devices\/virtual\/net\/br-
lan","SUBSYSTEM":"net","DEVTYPE":"bridge","INTERFACE":"br-lan","IFINDEX":"5","SEQNUM":"436"}}
procd: rule_handle_command(355): Command: execprocd: rule_handle_command(357):  /sbin/hotplug-callprocd:
rule_handle_command(357):  netprocd: rule_handle_command(358):
procd: rule_handle_command(360): Message:procd: rule_handle_command(362):  ACTION=removeprocd: rule_handle_command(362):
DEVPATH=/devices/virtual/net/br-lanprocd: rule_handle_command(362):  SUBSYSTEM=netprocd: rule_handle_command(362):
DEVTYPE=bridgeprocd: rule_handle_command(362):  INTERFACE=br-lanprocd: rule_handle_command(362):  IFINDEX=5procd:
rule_handle_command(362):  SEQNUM=436procd: rule_handle_command(363):
procd: watch_notify_cb(107): Received ubus notify 'interface.down':
{"interface":"loopback","up":false,"pending":false,"available":true,"autostart":false,"proto":"static","device":"lo","data
":{}}
procd: watch_notify_cb(107): Received ubus notify 'interface.down':
{"interface":"wan","up":false,"pending":false,"available":true,"autostart":false,"proto":"dhcp","device":"eth0.2","data":
{"leasetime":691200,"ntpserver":"207.46.232.182 192.43.244.18"}}
cat: can't open '/sys/devices/virtual/ieee80211/phy*/name': No such file or directory
sh: remove: unknown operand
sh: remove: unknown operand
procd: queue_proc_cb(286): Finished hotplug exec instance, pid=1314
procd: queue_next(281): Launched hotplug exec instance, pid=1336
[   32.400000] device eth0 left promiscuous mode
procd: hotplug_handler_debug(404): {{"ACTION":"r[   32.410000] eth0: link down
emove","DEVPATH":"\/devices\/virtual\/net\/eth0.2\/queues\/tx-0","SUBSYSTEM":"queues","SEQNUM":"437"}}
procd: hotplug_handler_debug(404): {{"ACTION":"remove","DEVPATH":"\/devices\/virtual\/net
\/eth0.2","SUBSYSTEM":"net","DEVTYPE":"vlan","INTERFACE":"eth0.2","IFINDEX":"7","SEQNUM":"438"}}
procd: rule_handle_command(355): Command: execprocd: rule_handle_command(357):  /sbin/hotplug-callprocd:
rule_handle_command(357):  netprocd: rule_handle_command(358):
procd: rule_handle_command(360): Message:procd: rule_handle_command(362):  ACTION=removeprocd: rule_handle_command(362):
DEVPATH=/devices/virtual/net/eth0.2procd: rule_handle_command(362):  SUBSYSTEM=netprocd: rule_handle_command(362):
DEVTYPE=vlanprocd: rule_handle_command(362):  INTERFACE=eth0.2procd: rule_handle_command(362):  IFINDEX=7procd:
rule_handle_command(362):  SEQNUM=438procd: rule_handle_command(363):
cat: can't open '/sys/devices/virtual/ieee80211/phy*/name': No such file or directory
sh: remove: unknown operand
sh: remove: unknown operand
procd: queue_proc_cb(286): Finished hotplug exec instance, pid=1336
procd: queue_next(281): Launched hotplug exec instance, pid=1362
cat: can't open '/sys/devices/virtual/ieee80211/phy*/name': No such file or directory
sh: remove: unknown operand
sh: remove: unknown operand
procd: queue_proc_cb(286): Finished hotplug exec instance, pid=1362
procd: q_initd_complete(101): stop /etc/rc.d/K90network shutdown
procd: q_initd_run(71): start /etc/rc.d/K98boot shutdown
procd: q_initd_complete(101): stop /etc/rc.d/K98boot shutdown
procd: q_initd_run(71): start /etc/rc.d/K99umount shutdown
procd: q_initd_complete(101): stop /etc/rc.d/K99umount shutdown
procd: procd_state_next(172): Change state 5 -> 6
procd: - SIGTERM processes -
procd:[   36.210000] Unhandled kernel unaligned access[#1]:
[   36.210000] CPU: 0 PID: 1384 Comm: procd Not tainted 3.14.30 #32
[   36.210000] task: 87bf44c8 ti: 87bea000 task.ti: 87bea000
[   36.210000] $ 0   : 00000000 00000001 ffffff71 00000001
[   36.210000] $ 4   : 8034bb40 87bebb88 00000087 70000000
[   36.210000] $ 8   : 00000001 0e000000 87854481 00000200
[   36.210000] $12   : 10000000 20000000 40000000 02000000
[   36.210000] $16   : 87913210 878c4900 803502ec 803b0000
[   36.210000] $20   : 803108bc 80340e1c 803b0000 00000000
[   36.210000] $24   : 04000000 08000000
[   36.210000] $28   : 87bea000 87bebc00 7fe577d8 801b1510
[   36.210000] Hi    : 0000028f
[   36.210000] Lo    : 00000001
[   36.210000] epc   : 801b1510 m25p_remove+0x2c/0x1a4
[   36.210000]     Not tainted
[   36.210000] ra    : 801b1510 m25p_remove+0x2c/0x1a4
[   36.210000] Status: 1100dc03 KERNEL EXL IE
[   36.210000] Cause : 00800010
[   36.210000] BadVA : ffffff91
[   36.210000] PrId  : 0001974c (MIPS 74Kc)
[   36.210000] Modules linked in: ath9k ath9k_common pppoe ppp_async iptable_nat ath9k_hw ath pppox ppp_generic
nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4 mac80211 ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_state xt_nat
xt_multiport xt_mark xt_mac xt_limit xt_id xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_CT slhc nf_nat_irc
nf_nat_ftp nf_nat nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack_irc nf_conntrack_ftp nf_conntrack
iptable_raw iptable_mangle iptable_filter ipt_REJECT ip_tables crc_ccitt compat ip6t_REJECT ip6table_raw ip6table_mangle
ip6table_filter ip6_tables x_tables ipv6 arc4 crypto_blkcipher ehci_platform ehci_hcd gpio_button_hotplug usbcore nls_base
usb_common
[   36.210000] Process procd (pid: 1384, threadinfo=87bea000, task=87bf44c8, tls=77693440)
[   36.210000] Stack : 803108bc 80340e1c 87915630 80000000 87bebc78 87bebc40 803108bc 80340e1c
          803b0000 00000000 7fe577d8 8019c530 00000000 8019cbc0 879155a0 879155e8
          00000000 87bebc44 87bebc44 87915630 87911ee8 87915630 87911ee8 878c4900
          8034bb9c 803502ec 803b0000 800dee5c 803502ec 8012c670 00000000 878c4900
          8034bb9c 803502ec 803b0000 8008d8fc 80340e1c 8019fd0c 803108bc 80340e1c
          ...
[   36.210000] Call Trace:
[   36.210000] [<801b1510>] m25p_remove+0x2c/0x1a4
[   36.210000] [<8008d8fc>] __device_release_driver+0x6c/0xd0
[   36.210000] [<80113354>] device_release_driver+0x28/0x40
[   36.210000] [<800edebc>] bus_remove_device+0xec/0x120
[   36.210000] [<80112aec>] device_del+0x110/0x170
[   36.210000] [<801139e4>] device_unregister+0x14/0x28
[   36.210000] [<800afaac>] __unregister+0x18/0x30
[   36.210000] [<80112cb4>] device_for_each_child+0x84/0x94
[   36.210000] [<80255dd0>] spi_unregister_master+0x8c/0xa4
[   36.210000] [<80254948>] spi_bitbang_stop+0x10/0x20
[   36.210000] [<800ca0cc>] ath79_spi_remove+0x20/0x58
[   36.210000] [<8011386c>] device_shutdown+0x100/0x158
[   36.210000] [<8019c104>] kernel_restart+0x14/0x6c
[   36.210000] [<80079504>] SyS_reboot+0xf8/0x1d4
[   36.210000] [<8006283c>] handle_sys+0x11c/0x140
[   36.210000]
[   36.210000]
Code: 02202021  0c0626c5  00408021 <8c420020> 240300c2  94420000  10430022  240300ef  10430020
[   36.500000] ---[ end trace 3007a3e89cf3aab2 ]---

(Last edited by dony71 on 12 Feb 2015, 23:41)

earlier i'm using trunk to patch this and it seems kernel is being changed in  latest trunk chaos calmer made impossible this patch to work. reboot command will result always hang.
i verify the patch on barrier breaker and it works.
does anybody know how to apply this patch on current trunk?

dony71 wrote:

earlier i'm using trunk to patch this and it seems kernel is being changed in  latest trunk chaos calmer made impossible this patch to work. reboot command will result always hang.
i verify the patch on barrier breaker and it works.
does anybody know how to apply this patch on current trunk?

https://github.com/981213/openwrt/commi … ea0647a177
This works.Just can not reboot from luci interface and reboot command from SSH.I hope you fix it and post here.

axishero wrote:
dony71 wrote:

earlier i'm using trunk to patch this and it seems kernel is being changed in  latest trunk chaos calmer made impossible this patch to work. reboot command will result always hang.
i verify the patch on barrier breaker and it works.
does anybody know how to apply this patch on current trunk?

https://github.com/981213/openwrt/commi … ea0647a177
This works.Just can not reboot from luci interface and reboot command from SSH.I hope you fix it and post here.

This is exactly problem I reported earlier
As I mention high likely kernel issue
I already issue ticket for this

dony71 wrote:
axishero wrote:
dony71 wrote:

earlier i'm using trunk to patch this and it seems kernel is being changed in  latest trunk chaos calmer made impossible this patch to work. reboot command will result always hang.
i verify the patch on barrier breaker and it works.
does anybody know how to apply this patch on current trunk?

https://github.com/981213/openwrt/commi … ea0647a177
This works.Just can not reboot from luci interface and reboot command from SSH.I hope you fix it and post here.

This is exactly problem I reported earlier
As I mention high likely kernel issue
I already issue ticket for this

Where is  the ticket

The discussion might have continued from here.