rc-scripts i pusty argument dla parametru w DHCP_OPTIONS ( było: dhcpcd i DUID...)

Łukasz Maśko masko w ipipan.waw.pl
Śro, 12 Gru 2007, 19:44:55 CET


Dnia poniedziałek, 26 listopada 2007, Łukasz Maśko napisał:
[...]
> Zgodnie z dokumentacją, powinno działać podanie opcji -I "" (z pustym
> ciągiem) i wtedy dhcpcd powinien - teoretycznie - wziąć po prostu adres
> MAC. Ale nie daje się podać takiej opcji z poziomu initskryptów, bo ifup
> wywala się z błędem. Ta sama opcja podana z linii poleceń chyba działa -
> w logach nie ma żadnej informacji o DUID, czyli chyba jest OK.
>
> Jak napisałem powyżej, sprawdzę to dokładnie jak wrócę do domu z
> delegacji.

No to wróciłem. I sprawdziłem. Podanie do -I parametru równego adresowi DHCP 
nie pomaga, ponieważ parametr ten jest brany dosłownie jako ciąg znaków i 
nie jest konwertowany na liczbę. Przykładowo, jeśli podam -I 001500241413, 
to serwer dhcp w routerze DLinka interpretuje to jako adres MAC równy 
303031353030323431343133, czyli zupełnie bez sensu (na tej podstawie 
przydziela niewłaściwy adres IP). Jeśli podam z dwukropkami, jest 
analogicznie.

Rozwiązaniem jest podanie -I "" (pusty string). Problem w tym, że taki 
manewr NIE PRZECHODZI jeśli chcę to zapisać w zawartości zmiennej w 
odpowiednim pliku w /etc/sysconfig/interfaces/. Efekt jest możliwy do 
przewidzenia:

# ifup wlan0
Ustalanie informacji IP dla wlan0 (dhcpcd).....................[ PROBLEMY ]
Error, 15: ioctl SIOCGIFHWADDR: No such device

Po prostu funkcje w rc-scriptach gubią ten parametr przy obróbce zawartości 
zmiennej i w efekcie wywołują dhcpcd bez właściwego parametru przy -I.

Czy jest jakiś sposób na przekazanie pustego stringa jako parametru dla 
opcji -I dhcpcd poprzez zmienną DHCP_OPTIONS w rc-scriptach? Jeśli nie, jak 
podać w bashu jako parametr string, którego BINARNA reprezentacja odpowiada 
adresowi 00:15:00:24:14:13 ?
-- 
Łukasz Maśko                                           GG:   2441498    _o)
Lukasz.Masko(at)ipipan.waw.pl                                           /\\
Registered Linux User #61028                                           _\_V
Ubuntu: staroafrykańskie słowo oznaczające "Nie umiem zainstalować Debiana"


Więcej informacji o liście dyskusyjnej pld-users-pl