ARM 및 Stretch가 포함된 헤드리스 임베디드 보드가 있는데 이더넷은 100Mbit에서는 제대로 작동하지 않지만 10Mbit에서는 제대로 작동합니다.
10Mbit를 강제로 적용하고 싶지만 dhclient가 시작되기 전에 이 작업을 수행해야 합니다. 그렇지 않으면 IP 주소를 얻을 수 없습니다.
지금까지 나는 다음에서 이 작업을 수행했습니다 rc.local
.
echo SETTING eth0 to 10Mbit
/sbin/ethtool -s eth0 speed 10 duplex half autoneg off
if [ -n "`pgrep dhclient`" ] then
dhclient -r
dhclient
fi
그러나 이로 인해 2개의 dhclient 인스턴스가 남게 되며 이것이 올바른 접근 방식인지 확실하지 않습니다.
~ ps auxf | grep dhc
root 917 0.0 1.6 6692 1972 ? Ss Jul31 0:00 /sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid -l
root 16783 0.0 1.4 4336 1772 pts/1 S+ 07:07 0:00 \_ grep dhc
root 1571 0.0 1.5 6692 1892 ? Ss Jul31 0:00 dhclient
어떤 제안이 있으십니까? 감사해요!
답변1
NetworkManager를 사용하는 경우 다음 명령을 실행하여 이를 <connection_name>
NetworkManager 연결 구성의 실제 이름으로 바꿉니다.
nmcli connection modify <connection_name> 802-3-ethernet.speed 10 802-3-ethernet.duplex half 802-3-ethernet.auto-negotiate no
NetworkManager 를 사용하지 않는 경우 아마도 이미 옵션에 명령을 입력 하십시오 iface eth0 inet dhcp
./etc/network/interfaces
ethtool
pre-up
iface eth0 inet dhcp
pre-up /sbin/ethtool -s eth0 speed 10 duplex half autoneg off
위의 내용은 일반적인 Debian Stretch를 가정합니다. Raspbian은 여기서 다를 수 있습니다.