Драйверът на устройство Linux не се зарежда автоматично чрез udev

Търся начин да заредя драйвера на моето linux устройство автоматично при стартиране. За това създадох файл с правила udev:

KERNEL=="k1", SUBSYSTEM=="subx", SYMLINK+="sym_subx", ATTRS{vendor}=="0x14ab", ATTRS{device}=="0xe001", MODE="0660", GROUP="xyz"

Първо ръчно инсталирах драйвера и след това рестартирах udev. След това за първи път деинсталирах и след това инсталирах драйвера. Виждах как драйверът се инсталира правилно и също така се създава символна връзка.

Сега, когато рестартирам машината, очаквам драйверът да се зареди автоматично при стартиране, но не е така. Какво може да липсва тук? Има ли някакъв запис, който трябва да направя в някакъв .conf файл (modprobe.conf или друг)? Къде трябва да поставя моя файл module.ko?

Подозирам, че нещо незначително липсва. Всяка помощ ще бъде високо оценена.

Поздрави, Сапан


person Sapan    schedule 21.10.2014    source източник
comment
как ръчно инсталирахте драйвера?   -  person m-ric    schedule 23.10.2014
comment
проверете /etc/modules или /etc/modules.conf. man modules.   -  person m-ric    schedule 23.10.2014


Отговори (1)


Най-накрая успях да го направя сам. Стъпките за автоматично зареждане на драйвера са:

  1. Поставете module.ko в /lib/modules/$(uname -r)/kernel/drivers/ - Може да се наложи да създадете директорията "module" за първи път
  2. Напишете правилата на Udev
  3. % sudo depmod -a Това ще актуализира зависимостите на драйверите
  4. Проверете файла /lib/modules/$(uname -r)/modules.dep и потърсете modules.ko. Той трябва да изброява зависимостите от други модули, ако има такива
  5. % sudo /sbin/reboot ИЛИ sudo udevadm тригер

Работи за мен Linux SLES11

person Sapan    schedule 28.10.2014