Linux за българи: Форуми

Linux секция за начинаещи => Настройка на хардуер => Темата е започната от: triplek в Aug 05, 2008, 15:29



Титла: Eth interfaces под crux
Публикувано от: triplek в Aug 05, 2008, 15:29
Здравейте,

По някаква непонятна за мен причина под CRUX при boot не винаги нет-а тръгва. Т.е. Пускам машината....Няма нет. ping 192.168.1.1(бтк модем) не се връща. Според ifconfig всичко е нормално. След като тегля една бърза българска и ресна нета тръгва. Това става в 90% от случаите когато ресна.

Или накратко. Ресвам/Пускам машината -> нет няма -> ресвам -> нет-а идва.

Такава аномалия наблюдавах навремето с Arch. Така и не можах да я орпавя. На какво може да се дължи??

Според мен като имам предвид факта че от 2-рия път тръгва съм склонен да пренебрегна скриптовете на крукс или незаредени модули.

Имам съмнения че неправилно конфигурирам интерфейсите. Скриптовете на Crux са на принципа keep it simple. Елементарни bash скриптове. Ето го /etc/rc.d/net който конфигурира eth0/1

Примерен код

#!/bin/sh
#
# /etc/rc.d/net: start/stop network
#

case $1 in
start)
        # loopback
        /sbin/ip addr add 127.0.0.1/8 dev lo broadcast + scope host
        /sbin/ip link set lo up
        # ethernet1
        /sbin/ip addr add 192.168.1.2/24 dev eth1 broadcast +
        /sbin/ip link set eth1 up
        # ethernet0
        /sbin/ip addr add 192.168.0.1/24 dev eth0 broadcast +
        /sbin/ip link set eth0 up
        # default route
        /sbin/ip route add default via 192.168.1.1
        ;;
stop)
        /sbin/ip route del default
        /sbin/ip link set eth1 down
        /sbin/ip addr del 192.168.1.2/24 dev eth1
        /sbin/ip link set eth0 down
        /sbin/ip addr del 192.168.0.1/24 dev eth0
        /sbin/ip link set lo down
        /sbin/ip addr del 127.0.0.1/8 dev lo
        ;;
restart)
        $0 stop
        $0 start
        ;;
*)
        echo "usage: $0 [start|stop|restart]"
        ;;
esac

# End of file


Лог демона все още е в процес на подкарване. Разполагам с dmesg, който не казва нищо съществено, но ако искате мога да го пейстна. :)

Благодаря предварително


Титла: Eth interfaces под crux
Публикувано от: bulg в Aug 05, 2008, 18:14
- Kaртите вградени или не, модел, марка, версия на Crux?
- С другата карта (eth0) има ли проблем?
- Пробвай само с eth1:
Примерен код
#!/bin/sh
#
# /etc/rc.d/net: start/stop network
#

case $1 in
start)
       # loopback
       /sbin/ip addr add 127.0.0.1/8 dev lo broadcast + scope host
       /sbin/ip link set lo up
       # ethernet1
       /sbin/ip addr add 192.168.1.2/24 dev eth1 broadcast +
       /sbin/ip link set eth1 up
       # ethernet0
#     /sbin/ip addr add 192.168.0.1/24 dev eth0 broadcast +
#     /sbin/ip link set eth0 up
       # default route
       /sbin/ip route add default via 192.168.1.1
      ;;
stop)
       /sbin/ip route del default
       /sbin/ip link set eth1 down
       /sbin/ip addr del 192.168.1.2/24 dev eth1
#     /sbin/ip link set eth0 down
#     /sbin/ip addr del 192.168.0.1/24 dev eth0
       /sbin/ip link set lo down
       /sbin/ip addr del 127.0.0.1/8 dev lo
      ;;
restart)
       $0 stop
       $0 start
      ;;
*)
       echo "usage: $0 [start|stop|restart]"
      ;;
esac

# End of file

- Пробвай с eth0 към модема (с коментирана eth1)
- Пробвай с eth0 към модема и eth1 "навътре"
И бог знае още какво ... ;)


Титла: Eth interfaces под crux
Публикувано от: triplek в Aug 05, 2008, 23:17
Пробвах какво ли не. Въртях ги както се сетих. Пробвах също да конкретизирам /sbin/ip route add default via 192.168.1.1 dev eth1. Същата работа....Нета пали от 2-рия път. :D

Ето ги ланките ми:
00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)

Приемам всякакви съвети и мнения. :)


Титла: Eth interfaces под crux
Публикувано от: bulg в Aug 06, 2008, 00:31
Нещо като проблем с bios (дънната баКтерийка, pnp, irq's, др. бутаници)

Kaто го пуснеш след shutdown, к'во разправят lspci, ifconfig-овете, cat /proc/interrupts? A, след рестарт?


Титла: Eth interfaces под crux
Публикувано от: triplek в Aug 06, 2008, 00:34
Всичко изглежда напълно нормално. Модулите са заредени, ifconfig показва че са правилно конфигурирани, логовете празни. НО нет няма.


Титла: Eth interfaces под crux
Публикувано от: tarator в Aug 06, 2008, 00:48
Да не би Линукс-а да върти номерата на eth устройствата? Другата мрежа тръгва ли?


Титла: Eth interfaces под crux
Публикувано от: bulg в Aug 06, 2008, 00:49
Леле ти си бил светкавица :)
Малко от "Теорията на невероятностите", но:
Сложи един switch между компа и модема & test. ;)

И малко по-сериозно:
Стартирай ръчно конфигурационния скрипт след power on.

ПП.Последното все едно, че не съм го казал.  :D





Титла: Eth interfaces под crux
Публикувано от: triplek в Aug 06, 2008, 00:59
Първото нещо което правя като не тръгне мрежата е да стартирам и рестартирам скрипта. За жалост не помага. :(

Хм не съм се замислял че може да върти номерата. След малко пак ше ресна и ше сверя точно кой интерфейс с какво ip е.


Титла: Eth interfaces под crux
Публикувано от: triplek в Aug 06, 2008, 01:29
tarator много си прав!!! Кернела върти номерата на интерфейсите. В момента ръчно зададох параметрите на eth1 на eth0 и нета взе че тръгна.

Какво може да се направи по въпроса???


Титла: Eth interfaces под crux
Публикувано от: bulg в Aug 06, 2008, 01:37
Къде (и как) ги зададе?

пп. Браво Таратор-ине





Титла: Eth interfaces под crux
Публикувано от: triplek в Aug 06, 2008, 01:41
Реснах. Естествено нета спря. Ръчно "свалих" интерфейсите, и вдигнах eth0 която винаги е била eth1 с параметрите на eth1. Дори в момента съм с тази конфигурация и eth1 която трябва да е eth0 в момента "спи".

Ето резултата от ifconfig:

Примерен код
bash-3.2# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:11:5B:0A:4A:A9  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::211:5bff:fe0a:4aa9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6338 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3942 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7319695 (6.9 Mb)  TX bytes:417927 (408.1 Kb)
          Interrupt:11 Base address:0xec00

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:33 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3612 (3.5 Kb)  TX bytes:3612 (3.5 Kb)

bash-3.2#


/Edit
Иначе ето как:

/etc/rc.d/net stop

ip addr add 127.0.0.1/8 dev lo broadcast + scope host

ip link set lo up

ip addr add 192.168.1.2/24 dev eth0 broadcast +

 ip link set eth0 up

ip route add default via 192.168.1.1 dev eth0





Титла: Eth interfaces под crux
Публикувано от: tarator в Aug 06, 2008, 02:01
triplek,

Пробвай каквото пише тук:


http://www.debianhelp.co.uk/udev.htm

Накратко, създай файл /etc/udev/rules.d/010_netinterfaces.rules и в него напиши (заменяйки 00:12:34:.. и 00:56:78... с истинските MAC адреси на картите):

KERNEL=="eth*", SYSFS{address}=="00:12:34:fe:dc:ba", NAME="eth0"
KERNEL=="eth*", SYSFS{address}=="00:56:78:98:76:54", NAME="eth1"

Не съм го пробвал и не знам дали работи.


Титла: Eth interfaces под crux
Публикувано от: bulg в Aug 06, 2008, 02:40
На собствен гръб, заради проблем с pci и usb lan, : :)

- Едит на /etc/udev/rules.d/70-persistent-net.rules
- Виж дали ти е коректно описанието там.
Подредбата трябва да е сходна (това ми е на един ред):
Примерен код
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1b:4d:94:4b:d5", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


За жалост, генезиса на проблема ти, все пак, ще се окаже хардуерен.
Още един път "NO" на вградените "масовки" за по-отговорни цели.

пп. Дано да бъркам. :)





Титла: Eth interfaces под crux
Публикувано от: triplek в Aug 06, 2008, 13:21
Безкрайни благодарности на bulg и tarator.

Мисля, че с правилото на udev се получи. Променях го няколко пъти, за да проверя дали след рестарт работи. Засега работи. :)

btw Tази "аномалия" се оказва съвсем нормално явление:
Цитат
Network interfaces

Even though they are referenced by names, network interfaces typically do not have device nodes associated with them. Despite that, the rule writing process is almost identical.


За  тези които имат този или подобен проблем им препоръчвам да посетят този линк - Writing udev rules

Естествено при мен не стана от първия път тъй като копирах мак адресите от ifconfig. НЕ правете тази грешка. Буквените символи там са с главни букви и правилото на udev не работи. За да си видите мак-а просто като руут:

udevinfo -a -p /sys/class/net/ethX

Поздрави :)


Титла: Eth interfaces под crux
Публикувано от: Gaara в Aug 06, 2008, 14:23
Примерен код

suse10:~ # ip link show | grep eth |awk '{print $2}'| grep -v ^e
00:0c:29:34:16:7c
suse10:~ # ifconfig eth1 |grep HW |sed -e 's/^.*r //'| awk '{print tolower($1)}'
00:0c:29:34:16:7c
suse10:~ #
suse10:~ # udevinfo -a -p /sys/class/net/eth1/ | grep address
    SYSFS{address}=="00:0c:29:34:16:7c"
suse10:~ #

мдааа   :p





Титла: Eth interfaces под crux
Публикувано от: Hapkoc в Aug 06, 2008, 14:31
Добре де, като стана дума за udev, аз да попитам...

Имам mp3 player, който се закача на USB и се разпознава като mass storage device. Това ок, обаче във файл мениджъра ми в менюто на въпросното устройство излиза Eject вместо Unmount. Това ме дразни, понеже има случаи, в които го закачам на USB-то да се зарежда и го размонтирам, за да мога да го извадя когато си реша, но впоследствие решавам да си кача нещо на него и искам да го монтирам, но т.к. съм го Eject-нал иконата му изобщо я няма.

Това нещо се получи след update от Ubuntu 7.10 на 8.04. В предишната версия си имаше Unmount в менюто и нямаше грижи.

Въпросния файлов мениджър е Thunar.


Пробвах да създам файл /etc/udev/rules.d/50-u3.rules, в който има:
SUBSYSTEM=="block", ATTRS{model}=="YP-U3", SUBSYSTEMS=="scsi", ATTR{removable}="0"

Match-ването в правилото е ок, т.к. пробвах накрая да сложа NAME="neshto-si" и сработва, но както се опитвам да му сетна ATTR{removable}="0" не ебава.

Ето изхода от udevinfo:

Примерен код


  looking at device '/block/sdb':
    KERNEL=="sdb"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{dev}=="8:16"
    ATTR{range}=="16"
    ATTR{removable}=="1"
    ATTR{size}=="1924352"
    ATTR{stat}=="      76     1121     1624      548        0        0        0        0        0      340      548"
    ATTR{capability}=="13"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host3/target3:0:0/3:0:0:0':
    KERNELS=="3:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{device_blocked}=="0"
    ATTRS{type}=="0"
    ATTRS{scsi_level}=="3"
    ATTRS{vendor}=="Samsung "
    ATTRS{model}=="YP-U3           "
    ATTRS{rev}=="1.00"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{iocounterbits}=="32"
    ATTRS{iorequest_cnt}=="0x65"
    ATTRS{iodone_cnt}=="0x65"
    ATTRS{ioerr_cnt}=="0x0"
    ATTRS{modalias}=="scsi:t-0x00"
    ATTRS{evt_media_change}=="0"
    ATTRS{queue_depth}=="1"
    ATTRS{queue_type}=="none"
    ATTRS{max_sectors}=="240"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host3/target3:0:0':
    KERNELS=="target3:0:0"
    SUBSYSTEMS==""
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host3':
    KERNELS=="host3"
    SUBSYSTEMS==""
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0':
    KERNELS=="5-1:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb-storage"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{bInterfaceClass}=="08"
    ATTRS{bInterfaceSubClass}=="06"
    ATTRS{bInterfaceProtocol}=="50"
    ATTRS{modalias}=="usb:v04E8p507Cd0220dc00dsc00dp00ic08isc06ip50"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5/5-1':
    KERNELS=="5-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{dev}=="189:515"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="80"
    ATTRS{bMaxPower}=="500mA"
    ATTRS{urbnum}=="421"
    ATTRS{idVendor}=="04e8"
    ATTRS{idProduct}=="507c"
    ATTRS{bcdDevice}=="0220"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="5"
    ATTRS{devnum}=="4"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Samsung Electronics"
    ATTRS{product}=="YP-U3"
    ATTRS{serial}=="E68AF115DEF00000"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb5':
    KERNELS=="usb5"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{dev}=="189:512"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="144"
    ATTRS{idVendor}=="0000"
    ATTRS{idProduct}=="0000"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="5"
    ATTRS{devnum}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="8"
    ATTRS{quirks}=="0x0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.24-19-generic ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1d.7"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7':
    KERNELS=="0000:00:1d.7"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x24dd"
    ATTRS{subsystem_vendor}=="0x14a4"
    ATTRS{subsystem_device}=="0x2181"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="19"
    ATTRS{local_cpus}=="ff"
    ATTRS{modalias}=="pci:v00008086d000024DDsv000014A4sd00002181bc0Csc03i20"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""