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

Linux секция за начинаещи => Настройка на хардуер => Темата е започната от: nforcer в Feb 06, 2006, 13:04



Титла: Смяна поредноста на мрежови карти
Публикувано от: nforcer в Feb 06, 2006, 13:04
Компютъра ми има две мрежови карти вградената на nvidia и realtek на pci слот.През едната ползвам интернет а през другата го споделям с друг компэтър.Линукса ми слага вградената като eth0  а другата като eth1 . Възможно  ли е да сменя тази поредност тъй като разни тъпо направени програми се опитват да се вържат към интернет през първата им попаднала мрежа и това естествено не става тъй като това е вътрешната мрежа.


Титла: Смяна поредноста на мрежови карти
Публикувано от: ochinko в Feb 06, 2006, 13:30
За съжаление не мога да ти помогна, мога само да споделя, че имам същия проблем: nforce на дъното и 8139 на PCI. 8139 е към интернет, понеже нямах още защита и за да не вземе някой случаен високоволтов импулс да изгори цялото дъно.

Та това, което се получава при мен, е че при едно стартиране eth0 е дънната, а при следващо - eth0 става другата. Четох каквито статии намерих за udev и наименоването, кръстих ги lan0 и inet0, вързани с MAC адресите, но такива устройства така и не ми се появиха и не мога да направя ifconfig с тях.


Титла: Смяна поредноста на мрежови карти
Публикувано от: в Feb 06, 2006, 14:19
Пример за /etc/modprobe.conf
....
alias eth0 3c59x
alias eth1 r8169
....


Титла: Смяна поредноста на мрежови карти
Публикувано от: ochinko в Feb 06, 2006, 14:25
Цитат (Guest @ Фев. 06 2006,15:19)
Пример за /etc/modprobe.conf
....
alias eth0 3c59x
alias eth1 r8169
....

Това съм го пробвал. Причината да не върши работа е в известна степен зависима от дистрибуцията. Ъпдейтвам Дебиана всеки ден и този е от файловете, който периодично се променя. В началото му даже има предупреждение, че се генерира автоматично и е излишно да се вкарват промени там.


Титла: Смяна поредноста на мрежови карти
Публикувано от: nifelheim в Feb 06, 2006, 15:43
Най-лесния начин е да се компилира едната в кернела, а другата като модул. Може и 2-те като модули :) При мен surecom картата е в ядрото и линукса си я разпознава като eth0, a realtek е като модул и я зареждам така:
modprobe 8139too
ifconfig eth1 192.168.0.1 netmask 255.255.255.0
Може и 2-те да са в ядрото и има опция, която се подава на ядрото да скипне разпознаването на хардуера на определен IO адрес, но това е по-сложен начин.


Титла: Смяна поредноста на мрежови карти
Публикувано от: ochinko в Feb 06, 2006, 16:53
Цитат (nifelheim @ Фев. 06 2006,16:43)
Най-лесния начин е да се компилира едната в кернела, а другата като модул. Може и 2-те като модули :) При мен surecom картата е в ядрото и линукса си я разпознава като eth0, a realtek е като модул и я зареждам така:
modprobe 8139too
ifconfig eth1 192.168.0.1 netmask 255.255.255.0
Може и 2-те да са в ядрото и има опция, която се подава на ядрото да скипне разпознаването на хардуера на определен IO адрес, но това е по-сложен начин.

Мерси, ще го пробвам това, да видя какво ще излезе.

nforce не мога да го компилирам в ядрото, понеже тръгва само с драйвера на NVidia, но ще проверя доколко стабилно е името, свързано с интерфейса, ако компилирам realtek в ядрото.


Титла: Смяна поредноста на мрежови карти
Публикувано от: Hapkoc в Feb 06, 2006, 17:04
С тия модули ми е малко мътно, ама ако сложиш alias eth0 blabla в /etc/modprobe.d/network какво ли ще стане се чудя? :)

Смисъл май това е идеята на modprobe.d - да си слагаш нещата специфични за машината там, за да няма проблеми с обновяването.


Титла: Смяна поредноста на мрежови карти
Публикувано от: в Feb 06, 2006, 17:21
Цитат (ochinko @ Фев. 06 2006,15:25)
....
Това съм го пробвал. Причината да не върши работа е в известна степен зависима от дистрибуцията. Ъпдейтвам Дебиана всеки ден и този е от файловете, който периодично се променя. В началото му даже има предупреждение, че се генерира автоматично и е излишно да се вкарват промени там.

Съмнявам се, че няма начин. Това е linux и както и в unix има правило за конфигурация на host-а, която трябва да се ползва в допълнение към базовата/основната/глобалната и т.н. Не мисля, че в debian липсва такава възможност.

Има ли директория /etc/modprobe.d ? Ако да, то какво ще стане, ако създадеш файл например /etc/modprobe.d/aliases с подходящо за твоя host съдържание.
Коя програма/скрипт ти генерира /etc/modprobe.conf ? Дали не е update-modules ?


Титла: Смяна поредноста на мрежови карти
Публикувано от: ochinko в Feb 06, 2006, 19:07
Извинявам се за общите приказки дотук, ама чак сега съм си на машината.

rpetrov е прав (/etc/modules.conf):
### This file is automatically generated by update-modules
#
# Please do not edit this file directly. If you want to change or add
# anything please take a look at the files in /etc/modutils and read
# the manpage for update-modules.

@Наркос Нямам файл /etc/modprobe.d/network.

Тръгнах от тая статия (другите не мога да ги открия):
Writing a rule to name my network interface

Сега открих нещо интересно (и доста дълго, ако човек проследи всички съобщения), но доколкото разбирам, решение не е намерено: udev naming problems for eth*

Ако имам време, може да пробвам експерименти с /etc/modprobe.d/blacklist.


Титла: Смяна поредноста на мрежови карти
Публикувано от: ray в Feb 06, 2006, 19:17
Здравейте,
Може да се опита и двете да се компилират като модули и после да се зареждат по ред според описанието на модулите за зареждане - първата в описанието ще е eth0 а втората eth1. Пробвайте.
Успех.Румен


Титла: Смяна поредноста на мрежови карти
Публикувано от: nforcer в Feb 06, 2006, 20:02
Реших си проблема по следния начин в /etc/udev/rules.d/30-net_persistent_names.rules размених имената на двата мрежови интерфейса
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:xx:xx:xx:xx:xx", IMPORT="/sbin/rename_netiface %k eth1"
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:xx:xx:xx:xx:xx", IMPORT="/sbin/rename_netiface %k eth0" срещу съответните мак адреси рестартирах и сега са си както трябва имената без разни извращения като компилиране на ядрото и ръчно зареждане на модули. :D


Титла: Смяна поредноста на мрежови карти
Публикувано от: mimosh в Feb 08, 2006, 20:16
Nvidia си имат опен сорс аналог в ядрото dethforce за версия 2.6.6 със сигурност!


Титла: Смяна поредноста на мрежови карти
Публикувано от: ochinko в Feb 08, 2006, 21:52
Цитат (mimosh @ Фев. 08 2006,21:16)
Nvidia си имат опен сорс аналог в ядрото dethforce за версия 2.6.6 със сигурност!

Казва се forcedeth, но засега не поддържа 410/430 чипсетите. Ако работеше, нямаше и през ум да ми мине да ползвам nvnet на NVidia, понеже за разлика от графиката, от мрежовата карта няма каква производителност да изстискам.


Титла: Смяна поредноста на мрежови карти
Публикувано от: Hapkoc в Feb 09, 2006, 01:46
Имах предвид да го създадеш.

Ако не се лъжа, от /etc/modprobe.d се четат всички файлове.


Титла: Смяна поредноста на мрежови карти
Публикувано от: ochinko в Feb 09, 2006, 12:33
Цитат (Hapkoc @ Фев. 09 2006,02:46)
Имах предвид да го създадеш.

Ако не се лъжа, от /etc/modprobe.d се четат всички файлове.

Не разбирам каква ти е идеята.

Ако направя
alias eth0 blabla
ще мога да се обръщам към eth0 с blabla. Това как ми решава проблема с размяната на eth0 и eth1?


Титла: Смяна поредноста на мрежови карти
Публикувано от: Hapkoc в Feb 09, 2006, 13:25
Идеята ми е не да слагаш blabla, а името на модула който трябва да се зареди.

Т.е. ако имаш следното в момента:
eth0 с модул ne
eth1 с модул 3c501

и искаш да ги размениш, правиш следното:
---- /etc/modprobe.d/network ----
alias eth0 3c501
alias eth1 ne
---- /etc/modprobe.d/network ----

Идеята ми е, че доколкото знам /etc/init.d/module-init-tools чете файловете от /etc/modprobe.d и изпълнява каквото е описано в тях.


Титла: Смяна поредноста на мрежови карти
Публикувано от: ochinko в Feb 09, 2006, 14:42
Наркос, alias означава псевдоним. Той ти дава възможност да се обърнеш с друго име към устройството, но НЕ преименува въпросното устройство.


Титла: Смяна поредноста на мрежови карти
Публикувано от: Hapkoc в Feb 09, 2006, 14:49
добре, забрави че съм казал нещо