Print a warning when we detect a Realtek 8139B chip
(identified by the IO map being 256 bytes long instead of 128) This chip works very unreliably on my Lanner embedded PC with the rl driver. Lots of watchdog timeouts or poor performance. Forcing the media type to 10 Meg (ifconfig rl0 media 10baseT/UTP) is a good workaround. This looks very similar to the problem reported in PR kern/18790 It is interesting to note that the linux driver has lots of special case code for this chip.
This commit is contained in:
parent
9dd471dfa5
commit
0eaa901ba7
@ -863,6 +863,16 @@ static int rl_attach(dev)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/* Detect the Realtek 8139B. For some reason, this chip is very
|
||||
* unstable when left to autoselect the media
|
||||
* The best workaround is to set the device to the required
|
||||
* media type or to set it to the 10 Meg speed.
|
||||
*/
|
||||
|
||||
if ((rman_get_end(sc->rl_res)-rman_get_start(sc->rl_res))==0xff) {
|
||||
printf("rl%d: Realtek 8139B detected. Warning, this may be unstable in autoselect mode\n", unit);
|
||||
}
|
||||
|
||||
sc->rl_btag = rman_get_bustag(sc->rl_res);
|
||||
sc->rl_bhandle = rman_get_bushandle(sc->rl_res);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user