OpenBSD, Impostare il livello fisico per una scheda di rete che fa i capricci

Quando si ha a che fare con schede di rete vecchiotte, specie se c’è un hub economico di mezzo, si possono avere dei problemi con l’autonegoziazione della modalità di trasmissione a livello fisico. Praticamente la scheda di rete non riesce a mettersi d’accordo con quelle delle altre macchine in lan su quale velocità utilizzare.

I led si accendono, segnalano che il collegamento c’è… ma il dhcp non funziona e nemmeno impostando a mano l’indirizzo si riesce a pingare.

Molto probabilmente servirà impostare a mano la scheda a 10 mbit/s.
Questa –triste– operazione generalmente si fa con ifconfig (opzione media) anche se su linux c’è il comando apposito mii-tool, tra l’altro molto comodo per verificare al volo se c’è un collegamento fisico, magari quando potrebbe esserci un cavo difettoso.

Come si imposta questa opzione su OpenBSD?
Lo script che si occupa di configurare la rete su OpenBSD è /etc/netstart. Per ogni scheda di rete rilevata cerca il file /etc/hostname.nomeInterfaccia e da in pasto ad ifconfig ogni sua riga.

Nel mio caso l’interfaccia si chiama xl0, dunque:
# cat /etc/hostname.xl0
media 10baseT
dhcp

Se non vi è mai capitato, date un’occhiata alle man page di ifconfig e mii-tool! ;)