Re: [PATCH net] r8152: Fix broken RX checksums.
From: Mark Lord
Date: Thu Nov 03 2016 - 07:43:44 EST
On 16-11-03 04:56 AM, Hayes Wang wrote:
> Mark Lord [mailto:mlord@xxxxxxxxx]
>> Sent: Thursday, November 03, 2016 2:30 AM
>> To: Hayes Wang; David Miller
> [...]
>> I have poked at it some more, and thus far it appears that it is
>> only necessary to disable TCP rx checksums. The system doesn't crash
>> when only IP/UDP checksums are enabled, but does when TCP checksums are on.
>>
>> This happens regardless of whether RX_AGG is disabled or enabled,
>> and increasing/decreasing the number of RX URBs (RTL8152_MAX_RX)
>> doesn't seem to affect it.
>
> I test Raspberry Pi v1, but I couldn't boot with NFSROOT through
> both onboard nic and RTL8152. I get following error.
>
> VFS: Unable to mount root fs via NFS, trying floppy.
> Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
>
> However, if I start the system without NFSROOT, I could mount the nfs fs.
> Any idea?
Rather than getting caught up in all of that,
you could then just chroot to the mounted nfs fs
at that point, and continue on from there.
Eg. chroot /mnt/nfsxxx /bin/sh
Running from NFS is probably not necessary though.
Instead, perhaps just run md5sum on every file on the nfs fs
from the Raspberry Pi, and then repeat the md5sum's on the server,
and compare the results for errors.
The system I am using the dongle with is a custom embedded board,
but I think the important thing is that it has a slow-ish CPU,
which means it is more prone to having the on-chip RX FIFO overflow.
It is also big-endian rather than little-endian, though that seems
to be correctly handled already in the device driver.
I will try the md5sum test on an x86 box for comparison.
Cheers
--
Mark Lord