Am Samstag, 18. Mai 2011, 18:34:15 schrieben Sie: > On 2011-06-18 6:05 PM, Peter Wagner wrote: > > Am Freitag, 17. Mai 2011, 22:04:07 schrieb Peter Wagner: > >> accidently hit the send button... > >> > >> Hi, > >> > >> i created a c++ program and while testing it (it sends upd packets) i > >> created a few millions packages and sent them to 192.168.1.1:4950 (my > >> router running openwrt). its a wl500gP v1. while i was doing this the > >> device gets unresponsive and i get lines like this: > >> > >> b44 ssb0:0: eth0: powering down PHY > >> b44 ssb0:0: eth0: powering down PHY > >> b44 ssb0:0: eth0: powering down PHY > >> > >> after doing this for about 2 minutes the device reboots. i think this > >> is triggered by the watchdog as it get no enough process time from the > >> sheduler. > >> > >> how can i track down why this powering down PHY happens? > >> > >> regards > >> Peter > >> _______________________________________________ > >> openwrt-devel mailing list > >> [email protected] > >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel > > > > i created this little c program (the code flys around somewhere in the > > inet) and modified it a bit it sends 100000000 udp packets to a host you > > specify compile with gcc -o foo talker_foo.c > > and run > > ./foo $hostname $message_that_gets_sent > > > > i can reproduce the error in ~10sec of running this program against a > > wl500gp kernel 2.6.39.1 > > after this 10sec i have about 160 lines like this > > b44 ssb0:0: eth0: powering down PHY > > in the output of dmesg. > > > > i tested it against an unfiltered port. > > Looks like there are several conditions that trigger a hardware restart > which produce these messages: > b44.h: > > #define ISTAT_ERRORS > (ISTAT_DSCE|ISTAT_DATAE|ISTAT_DPE|ISTAT_RDU|ISTAT_RFO|ISTAT_TFU) > > probably ISTAT_RFO is hit here - my guess is it stands for Receive FIFO > Overflow. > > Maybe there's a different way this could be handled, or maybe the error > can be ignored altogether. Can you try removing ISTAT_RFO from > ISTAT_ERRORS and see if that keeps the interface working during your UDP > flood? > > - Felix
removing the ISTAT_RFO doesnt bring b44 up and i can't reach the device anymore. i get a connection refused when i try to connect to the device. the patch i used: --- a/drivers/net/b44.h 2011-06-03 02:34:20.000000000 +0200 +++ b/drivers/net/b44.h 2011-06-18 18:45:05.433586052 +0200 @@ -42,7 +42,7 @@ #define ISTAT_EMAC 0x04000000 /* EMAC Interrupt */ #define ISTAT_MII_WRITE 0x08000000 /* MII Write Interrupt */ #define ISTAT_MII_READ 0x10000000 /* MII Read Interrupt */ -#define ISTAT_ERRORS (ISTAT_DSCE|ISTAT_DATAE|ISTAT_DPE|ISTAT_RDU|ISTAT_RFO| ISTAT_TFU) +#define ISTAT_ERRORS (ISTAT_DSCE|ISTAT_DATAE|ISTAT_DPE|ISTAT_RDU|ISTAT_TFU) #define B44_IMASK 0x0024UL /* Interrupt Mask */ #define IMASK_DEF (ISTAT_ERRORS | ISTAT_TO | ISTAT_RX | ISTAT_TX) #define B44_GPTIMER 0x0028UL /* General Purpose Timer */ /Peter _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
