[RISOLTO]Perché udev mi cambia eth0 in eth1?

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

[RISOLTO]Perché udev mi cambia eth0 in eth1?

Messaggio da robbybby »

Si tratta di una Slackware 13.1 (a 64 bit, ma credo sia ininfluente).
Ho appena cambiato la motherboard. Ho preso una Gigabyte con chipset AMD785G, con South Bridge SB710.
La scheda di rete è la solito Realtek 8111, pienamente riconosciuta dal kernel, infatti:

Codice: Seleziona tutto

r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
r8169 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
r8169 0000:02:00.0: setting latency timer to 64
r8169 0000:02:00.0: irq 27 for MSI/MSI-X
eth0: RTL8168c/8111c at 0xffffc900106ef000, 6c:dd:44:71:89:3f, XID 1c4000c0 IRQ 27
A un certo punto, udev cambia eth0 in eth1

Codice: Seleziona tutto

udev: renamed network interface eth0 to eth1
Perché?
Per risolvere ho semplicemente aggiunto anche eth1 in /etc/rc.d/rc.inet1.conf

Codice: Seleziona tutto

# Config information for eth1:
IPADDR[1]="192.168.1.15"
NETMASK[1]="255.255.255.0"
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""
E così funziona.
ifconfig -a ritorna

Codice: Seleziona tutto

eth1      Link encap:Ethernet  HWaddr 2c:f1:47:71:89:3f  
          inet addr:192.168.1.15  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::67f0:49ef:ff71:882f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13120 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9976 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:16024459 (15.2 MiB)  TX bytes:1298655 (1.2 MiB)
          Interrupt:27 Base address:0xe000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1351 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1351 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:142411 (139.0 KiB)  TX bytes:142411 (139.0 KiB)

pan0      Link encap:Ethernet  HWaddr ee:2a:56:10:81:7f  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Quindi la eth0 proprio non esiste più.
La pan0 è la chiavetta Bluetooth.
Il fatto è che l'installazione è la stessa che usavo con la vecchia scheda madre. Ho tenuto lo stesso disco. Tanto ho su la Slackware 13.1 col kernel huge, e riconosce tutto.
Qualcuno ha idee in merito?

PS: non sto usando la scheda grafica integrata, ma la nVidia che già avevo prima.
Ultima modifica di robbybby il ven 16 lug 2010, 22:23, modificato 1 volta in totale.

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Perché udev mi cambia eth0 in eth1?

Messaggio da conraid »

perché dovevi cancellare le regole di udev. Guarda la documentazione varia CHANGES_AND_HITS, il wiki qui, vari post passati, etc...

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: Perché udev mi cambia eth0 in eth1?

Messaggio da robbybby »

Scusa, ma perché devo cancellare le regole di udev? L'installazione è stata fatta ex-novo, non è stata fatta aggiornando una release precedente. Ho cambiato la motherboard, ma l'installazione è di una Slackware 13.1 fatta partendo da un hard disk vuoto.
Comunque adesso mi leggo per bene la documentazione che mi hai suggerito.

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Perché udev mi cambia eth0 in eth1?

Messaggio da conraid »

avevo capito che tu avessi mentenuto la vecchia installazione
Il fatto è che l'installazione è la stessa che usavo con la vecchia scheda madre. Ho tenuto lo stesso disco. Tanto ho su la Slackware 13.1 col kernel huge, e riconosce tutto.
Comunque quel messaggio indica che c'è una regola di udev che dice di fare così, controlla udev e guarda le regole che ha creato

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: Perché udev mi cambia eth0 in eth1?

Messaggio da robbybby »

Ho controllato.
In effetti c'è una regola (l'unica regola in cat 70-persistent-net.rules) che rinomina ethx con il mio mac address in eth1.

Codice: Seleziona tutto

 $cat 70-persistent-net.rules 

# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
La mia domanda adesso è: chi gliel'ha messa? E perché? Non sono molto esperto di udev.

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Perché udev mi cambia eth0 in eth1?

Messaggio da conraid »

Sicuro che è una installazione ex-novo? Guarda che qui installazione/aggiornamento non c'entra niente, è più legato alle modifiche dell'hardware, anche semplicemente cambiando scheda di rete succede così.

Quelle regole le crea udev quando trova una nuova scheda di rete, se tu ne aggiungi un'altra (cioè con mac address diverso) creerà una regola e metterà eth2
E' molto utile questo, così tu sai sempre a quale scheda si riferisce la tua configurazione

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: Perché udev mi cambia eth0 in eth1?

Messaggio da robbybby »

Ok, comincio a capirci qualcosa.
L'installazione è stata fatta ex novo un paio di settimane fa.
Oggi ho cambiato la motherboard e, di conseguenza, la scheda di rete.
Quindi tu mi dici che, vedendo una scheda di rete diversa, le assegna il nome eth1, per non andare in conflitto con eth0. E, fin qui, ci siamo.
Però la scheda di rete vecchia non esiste più essendo saldata sulla vecchia motherboard :)
Se ha creato la regola, vuol dire che, da qualche parte, su qualche file, ci deve essere scritto il mac address della vecchia scheda, altrimenti come potrebbe sapere che è una nuova, e creare la regola?
Ho capito bene, o non ho capito un accidente?
Se ho capito bene, dove potrebbe essere scritto?
Nel sistema c'è una solo scheda di rete, come ho verificato con ifconfig -a.

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: Perché udev mi cambia eth0 in eth1?

Messaggio da robbybby »

Sto leggendo /lib/udev/rules.d
Ho visto che prende in considerazione anche le schede ieee1394 (firewire). In effetti, ho una firewire. Potrebbe essere quella che incasina le cose?
No, ho sbagliato. La firewire non c'entra niente.
Mi sa che avevi ragione nel primo post, Corrado: forse (dopo provo) basta cancellare 70-persistent-net.rules.
Ultima modifica di robbybby il ven 16 lug 2010, 22:21, modificato 1 volta in totale.

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Perché udev mi cambia eth0 in eth1?

Messaggio da conraid »

robbybby ha scritto:Ok, comincio a capirci qualcosa.
L'installazione è stata fatta ex novo un paio di settimane fa.
Oggi ho cambiato la motherboard e, di conseguenza, la scheda di rete.
Quindi tu mi dici che, vedendo una scheda di rete diversa, le assegna il nome eth1, per non andare in conflitto con eth0. E, fin qui, ci siamo.
Però la scheda di rete vecchia non esiste più essendo saldata sulla vecchia motherboard :)
Se ha creato la regola, vuol dire che, da qualche parte, su qualche file, ci deve essere scritto il mac address della vecchia scheda, altrimenti come potrebbe sapere che è una nuova, e creare la regola?
Ho capito bene, o non ho capito un accidente?
Se ho capito bene, dove potrebbe essere scritto?
Nel sistema c'è una solo scheda di rete, come ho verificato con ifconfig -a.
Allora, riassumo :-)
1) avevo capito bene allora, non hai installato ex-novo, ma hai cambiato sistema su una vecchia installazione (se fatta ieri o un anno fa non ha importanza)
2) proprio perché non esiste più la vecchia ti ho detto che dovevi cancellare il file delle regole
3) c'è scritto nel file delle regole il mac address, udev legge quel file e da i nomi. Se non c'è più a udev non interessa molto. Anche perché magari lo hai fatto per esigenze tue. Magari sono schede esterne (pensa alle penne wifi, etc...).
4) non è scritto da nessuna parte, se non in quel file. C'è una solo scheda sì, ma che vuol dire? Cambia mac address e cambia nome. Se volevi ripartire da zero dovevi cancellare quel file. E se avessi letto la documentazione da qualche versione di Slackware in qua lo sapresti ;-)

5) riguardo alla firewire lo vedi subito, guarda il mac address, ma se non avevi cancellato il vecchio file.... mi fermo qui :p

a me sembra più strano che sia sparita la vecchia regola

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: Perché udev mi cambia eth0 in eth1?

Messaggio da robbybby »

Grazie Conraid, adesso è tutto chiaro.
Però, a mia discolpa, come vedi, ci ero arrivato da me qualche secondo prima che tu mi rispondessi :)
Comunque grazie.

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Perché udev mi cambia eth0 in eth1?

Messaggio da conraid »

robbybby ha scritto:Grazie Conraid, adesso è tutto chiaro.
Però, a mia discolpa, come vedi, ci ero arrivato da me qualche secondo prima che tu mi rispondessi :)
Comunque grazie.

riguardo alla firewire devo correggermi, se quel file contiene una sola regola, oltre ad essere strano che abbia cancellato la vecchia (questo andrebbe indagato), se l'avesse presa in considerazione ci sarebbe una regola.
Semplicemente trovando già eth0 ha chiamato la scheda di rete eth1.
Puoi benissimo cambiare quel valore comunque, e mettere tu eth0, così tutto torna come vuoi.
Quel file puoi modificarlo a tuo piacimento senza cancellarlo, anche se puoi fare una prova per capire meglio

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: Perché udev mi cambia eth0 in eth1?

Messaggio da robbybby »

conraid ha scritto: a me sembra più strano che sia sparita la vecchia regola
La vecchia regola non c'è. Ho postato tutto il 70-persistent-net.rules, non solo una parte. Se ci fosse stata ancora la vecchia regola (sono andato a ripescarla da un backup, e da lì ho capito tutto) tutto sarebbe stato subito più chiaro.

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: [RISOLTO]Perché udev mi cambia eth0 in eth1?

Messaggio da robbybby »

Ho fatto una prova.
Ho preso il vecchio 70-persistent-net.rules, e ho modificato eth0, in eth1.

Quindi il file è diventato

Codice: Seleziona tutto

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="vv:vv:vv:vv:vv:vv", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
Dove vv:vv:vv:vv:vv:vv è il mac address della vecchia scheda.
Ho riavviato, la vecchia regola è sparita, e 70-persistent-net.rules è diventato:

Codice: Seleziona tutto

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="nn:nn:nn:nn:nn:nn", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Dove nn:nn:nn:nn:nn:nn è il mac address della nuova scheda.

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: [RISOLTO]Perché udev mi cambia eth0 in eth1?

Messaggio da conraid »

quindi aggiunge le regole correttamente, ma le toglie anche. Eppure tra gli script di udev non vedo cosa possa cancellare una regola. Probabilmente mi è sfuggito qualcosa

Rispondi