[OpenWrt-Devel] Ralink MT76228 port to Linux 4.0, set new IP address fail

Baptiste Clenet bapclenet at gmail.com
Fri Jun 12 12:45:39 EDT 2015


2015-06-12 18:02 GMT+02:00 Roman Yeryomin <leroi.lists at gmail.com>:
> On 12 June 2015 at 14:30, Baptiste Clenet <bapclenet at gmail.com> wrote:
>> 2015-06-12 11:12 GMT+02:00 Baptiste Clenet <bapclenet at gmail.com>:
>>> 2015-06-11 16:31 GMT+02:00 Roman Yeryomin <leroi.lists at gmail.com>:
>>>> On 11 June 2015 at 16:36, Baptiste Clenet <bapclenet at gmail.com> wrote:
>>>>> Hi,
>>>>>
>>>>> I've edited patches from Linux 3.18 to make the MT7628 work with Linux 4.0.
>>>>> OpenWRT launches, I have access to the shell.
>>>>> Next step, I configure the IP address with /etc/config/network and
>>>>> /etc/init.d/network reload. Ifconfig shows me my new address IP.
>>>>>
>>>>> But, I can't connect via ssh to my board and if I reboot the board, I
>>>>> get errors at boot:
>>>>> [   10.230000] jffs2: jffs2_scan_inode_node(): CRC failed on node at
>>>>> 0x004725bc: Read 0xffffffff, calculated 0x149094b5
>>>>> I would say it appears one hundred times with different calculated CRC.
>>>>> and finally the last line is:
>>>>> [   11.000000] jffs2: notice: (305) jffs2_build_xattr_subsystem:
>>>>> complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan)
>>>>> and 0 of xref (0 dead, 0 orphan) found.
>>>>>
>>>>>
>>>>> Then, I'm able to access to the shell but I still can't connect via
>>>>> ssh. The board constantly reports:
>>>>>
>>>>> [ 2410.010000] ralink_soc_eth 10100000.ethernet eth0: transmit timed out
>>>>> [ 2410.020000] ralink_soc_eth 10100000.ethernet eth0: dma_cfg:00000055
>>>>> [ 2410.030000] ralink_soc_eth 10100000.ethernet eth0: tx_ring=0,
>>>>> base=00dce000, max=128, ctx=126, dtx=126, fdx=123
>>>>> [ 2410.050000] ralink_soc_eth 10100000.ethernet eth0: rx_ring=0,
>>>>> base=01a36000, max=128, calc=121, drx=54
>>>>> [ 2415.010000] ralink_soc_eth 10100000.ethernet eth0: transmit timed out
>>>>> [ 2415.020000] ralink_soc_eth 10100000.ethernet eth0: dma_cfg:00000055
>>>>> [ 2415.030000] ralink_soc_eth 10100000.ethernet eth0: tx_ring=0,
>>>>> base=00dce000, max=128, ctx=126, dtx=126, fdx=123
>>>>> [ 2415.050000] ralink_soc_eth 10100000.ethernet eth0: rx_ring=0,
>>>>> base=01a36000, max=128, calc=121, drx=60
>>>>>
>>>>> It seems to be related to ethernet driver. Does anyone know those errors?
>>>>>
>>>>
>>>> I have the "transmit queue time out" error on ar71xx with 4.0.5 also.
>>>> Situation is very similar because ralink and ar71xx ethernet drivers
>>>> are maintained in OpenWrt only.
>>>> I believe it is related to recent timer/clock changes in kernel (in
>>>> 3.19 AFAIK). But I don't know neither timers nor network Linux stack
>>>> so well to tell what/where is the problem exactly.
>>>>
>>>> If somebody with more experience could point to a possible place to
>>>> look at that would be awesome.
>>>>
>>>>
>>>> Regards,
>>>> Roman
>>>
>>> Ok, let's see if someone can bring his knowledge on those parts and help us.
>>> Thanks
>>>
>>> Baptiste
>>
>>
>> I'm adding some details about the bug. after reloading
>> /etc/init.d/network (with an IP modified), WATCHDOG raises an error:
>>
>> root at OpenWrt:/# [ 6426.010000] ------------[ cut here ]------------
>> [ 6426.010000] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:303
>> dev_watchdog+0x1d8/0x25c()
>> [ 6426.030000] NETDEV WATCHDOG: eth0 (ralink_soc_eth): transmit queue
>> 0 timed out
>
> yes, exactly the same issue here with ar71xx:
> http://p.tet.rtu.lv/pbzn5sspm/wvtsep/raw


Watchdog problem solved thanks to Mingyu Li.
Patch the file ralink_soc_eth.c

@@ -983,8 +983,11 @@ static int fe_poll(struct napi_struct *napi, int budget)

        if (!tx_again && (rx_done < budget)) {
                status = fe_reg_r32(FE_REG_FE_INT_STATUS);
-               if (status & (tx_intr | rx_intr ))
+               if (status & (tx_intr | rx_intr )) {
+                       /* let napi poll again */
+                       rx_done = budget;
                        goto poll_again;
+               }

                napi_complete(napi);

This solution is related to the ralink board only.


Last problem is:
[    8.130000] jffs2: jffs2_scan_inode_node(): CRC failed on node at
0x0046000c: Read 0xffffffff, calculated 0x4900568b
...
... (many times)
...
[   15.410000] jffs2: notice: (306) jffs2_build_xattr_subsystem:
The flash driver seems to not work correctly after reboot.
Any ideas on that?

Baptiste
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list