Tři způsoby, jak změnit název síťového rozhraní 

Pokud je v počítači více než jedno rozhraní, které se hlásí jménem ethX, máme zaděláno na problémy. Pokud se jednotlivá rozhraní liší například čipsetem, není to ještě tak špatné, i když po upgradu na novou verzi kernelu se docela klidně může stát, že se ovladače zavedou v jiném pořadí. Ještě horší situace nastává, pokud je v systému několik identických síťových karet. Pak o jejich očíslování totiž rozhoduje i pořadí v PCI slotu a to se může změnit například resetem CMOS paměti.

Proto je vhodné, zachovat si trvalé jméno karty podle její MAC adresy. Objevil jsem hned tři způsoby, jak na to:

  1. Pomocí udev. Přestože síťová rozhraní nemají speciální soubor v adresáři /dev, udev s nimi dokáže také pracovat. Vcelku pěkný návod, jak na to, je například zde. Jen je potřeba zadávat MAC adresu malými písmeny, jinak jí to nenajde.
  2. Pomocí utilitky nameif. Tak to používám já, protože v době, kdy jsem tenhle problém řešil, ještě udev nebyl a já migroval z Fedory, kde to dělal initskript automaticky, na Gentoo, které to samozřemě neumělo. Tak jsem pročetl initskript Fedory, zjistil, že na to používá právě nameif a přepsal jednodušší initskript pro Gentoo:
    #!/sbin/runscript
    # Copyright 1999-2004 Gentoo Foundation
    # Distributed under the terms of the GNU General Public License v2
    
    # Changing names of network interfaces, according to /etc/mactab
    # Author: Ondrej Caletka
    
    NAMEIF=/sbin/nameif
    MACTAB=/etc/mactab
    #Temporary mactab, to allow eg. swapping between eth0 & eth1
    MACTMP=/etc/mactab.tmp
    
    # Example: Swaping between eth0 (MAC 000000000000) and eth1 (MAC 001122334455)
    
    #/etc/mactab:
    # # Formerly eth0:
    # eth1          00:00:00:00:00:00
    # # Formerly eth1:
    # eth0          00:11:22:33:44:55
    #EOF
    
    #/etc/mactab.tmp:
    # # Formerly eth0:
    # tmp1          00:00:00:00:00:00
    # # Formerly eth1:
    # tmp0          00:11:22:33:44:55
    #EOF
    
    depend() {
            before net
    }
    
    start() {
            [ -a ${MACTAB} ] || return
            ebegin "Renaming network interfaces"
            [ -a ${MACTMP} ] && ${NAMEIF} -c ${MACTMP}
            ${NAMEIF} -c ${MACTAB}
            eend $?
    }
    Jak je vidět, řešení je to poněkud těžkopádné, zejména v případě, kdy chceme názvy jen prohodit, protože není možné jedné kartě přiřadit název, který už má jiná karta.
  3. Pomocí iproute2. To se spíš hodí pro dočasné změny, protože moc dobře nejde měnit na základě MAC adresy, ale na základě předchozího názvu. Syntaxe je taková:
    ip link set eth0 name lan0

Všechny způsoby vyžadují, aby bylo rozraní, které se má přejmenovat, ve stavu down a aby nedošlo ke konfliktu s jiným síťovým zařízením (snad kromě udev, kde by mělo prohození názvů fungovat - ještě jsem to nezkoušel).


[ zobrazit záznam ] ( 969 zobrazení ) trvalý odkaz ( 3 / 14907 )
Skript pro update portage 

Používám Gentoo Linux a vždycky, když jsem chtěl něco nainstalovat, zjistil jsem, že mám staré portage... Tak jsem si udělal skript pro crona, který portage jednou denně updatuje. Používá program esync - součást balíku esearch - ten ebuildy oindexuje, takže se dají rychle hledat.

Tady je ten skript. Je dobré ho umístit do /etc/cron.daily.

#!/bin/sh
if [ -x /usr/sbin/esync ]
then
     date > /tmp/esync.log
     nice /usr/sbin/esync -v >> /tmp/esync.log
fi


[ zobrazit záznam ] ( 2538 zobrazení ) trvalý odkaz související odkaz ( 3 / 19837 )
Po upgradu P2 -> P4 se systém zabrzdil 

Upgradoval jsem počitač s procesorem Intel Pentium 2 (Klamath), který používám pro přepis vynilových desek na CD, za nový s procesorem Intel Pentium 4 a základní deskou Asus (které se ztratila MAC adresa). Zajímavé je, že když jsem zkusil na P4 nabootovat původní systém, kernel proběhl v pohodě, pak se ale napsalo INIT, a teprve několik sekund poté version X.XX running. A tímto tempem to pokračovalo dál... Že by P4 nebyl zpětně kompatibilní s P2? V každém případě se snažím překompilovat vše na P4 a pak se uvidí...

Jo a technická podpora Asus mi poradila, abych desku reklamoval.


[ zobrazit záznam ] ( 947 zobrazení ) trvalý odkaz ( 3 / 25253 )
Síťová karta ztratila MAC adresu 

Tak jsem koupil úplně novou základní desku s chipsetem VIA, která má v Southbridge integrovanou i síťovou kartu via-rhine-II. Calé to fungovalo, dokonce to i bootovalo ze síťe do chvíle, než jsem do počítače zastrčil Sound Blaster Live 1024. Najednou to přestalo bootovat. Reset CMOS nepomáhá. Vyndám zvukovku a funguje to. Jen mě zaráží, že při bootu to píše

Client MAC Address 00 00 00 00 00 00
Co bylo ještě horší, tak po nabootování do Windows se to tváří jako by nic. Normálně to pracuje s touto nulovou MAC adresou. V linuxu se ovladač via-rhine sice načte, ale řekne, že karta má neplatnou MAC adresu a odmítne s ní spolupracovat.

Na webu ASUSe (výrobce desky) jsem našel ovladač na síťovku... Ve skutečnosti je to celý balík s ovladači pro DOS, SCO Unix, Linux, Windows, Netware... A je tam i diagnostický program - ten se odmítá spustit s tím, že jsou poškozena data v eeprom, ať to napravím utilitou eeprom.exe. Ta tam taky je... dokonce mi umožní nastavit si MAC adresu jakou chci... Jenže po programování eeprom to napíše Write Failed

Tak jsem napsal na technickou podporu ASUS. Uvidím co mi odpoví... Podle Google to vypadá, že nejsem zdaleka jediný, kdo má s tímto čipem takové problémy.


[ zobrazit záznam ] ( 3020 zobrazení ) trvalý odkaz ( 3 / 35621 )
Jak na wpa_supplicant s ipw2200 

Stálo mě to chvíli googlení, než jsem přišel na to, že nové verze ovladačů Wi-Fi karet inklinují k unifikovanému rozhraní Wireless Extensions, kteréžto od verze v19 podporuje i šifrování WPA. Takže program wpa_supplicant už nepotřebuje ovladač pro konkrétní hardware, namísto toho se mu předhodí generický ovladač wext. A co je ještě záludnější, při použití ovladače ipw (který je ve wpa_supplicantu zabudován a je přímo určen pro chipsety Intel Pro Wireless) wpa_supplicant nefunguje a hlásí nesmyslné chyby typu "Permission Denied". Zjistil jsem, že podobně na tom je i ovladač pro (mimochodem velmi dobrý a levný) usb chip ZD1211, který do revize 52 potřeboval patch do wpa_supplicantu a od revize 58 pracuje přes generické rozhraní.

Co mě ale ještě víc překvapuje, je fakt, že uvedená informace není doposud na stránkách IPW2200 ovladače, ani na WPA supplicanta zmíněna. Proto to píšu alespoň sem :-)


[ zobrazit záznam ] ( 941 zobrazení ) trvalý odkaz související odkaz ( 3 / 36934 )

<<První <Zpět | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | Další> Poslední>>