patched kernel module

Fórumok

Sziasztok!

Egy beagyazott voyage linux rendszeren az egyik modult (scx200_acb) megpeccseltem, az uj valtozatot (scx200_acb_v2) betettem a /lib/modules/`uname -r`/extern ala. A `depmod -a` lefuttatva, mukodik is ugy ahogy kell, minden oke. Az /etc/modules ill. /etc/modprobe.d/akarmi.conf-ban is lecsereltem a hivatkozasokat (scx200_acb => scx200_acb_v2), ennek ellenere a boot soran az scx200_acb "jon fel". Mit lehet itten tenni?

Talan az ad egy apro nehezitest, hogy ebben a disztroban (3.4.4-voyage) az i2c-core-t statikusan forditottak bele a kernelbe, es ezen a hardveren csak ez az SCX200-as I2C host van (tehat az smbus_xfer funkcionalitast ez az scx200_acb modul adja). A tobbi I2C slave device (lm90, lm92, ill egy sajat custom eszkoz) az szinten modul formajaban erheto el.

thx, A.

Hozzászólások

Szerintem initrd, init RAM, dracut környékén keresd a megoldást.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Egyelore semmi :/ Ugy persze felall a rendszer, hogy az /etc/rc.local-bol kicserelem, de ez messze nem tul elegans persze (foleg hogy egy filerendszer is jonne majd ezutan, amit az /etc/fstab-ban kellene elhelyezni). A `dmesg` alapjan ugy tunik hogy a south bridge (CS5535) valamelyik masik drivere ranthatja magaval:


[ 5.032593] AMD Geode RNG detected
[ 5.080985] cs5535-mfgpt cs5535-mfgpt: reserved resource region [io 0x6200-0x623f]
[ 5.081114] cs5535-mfgpt cs5535-mfgpt: 8 MFGPT timers available
[ 5.081224] geode-aes: GEODE AES engine enabled.
[ 5.091565] cs5535-smb cs5535-smb: SCx200 device 'CS5535 ACB0' registered
[ 5.114663] Error: Driver 'cs5535-smb' is already registered, aborting...
[ 5.143898] input: PC Speaker as /devices/platform/pcspkr/input/input0
[ 5.489246] Error: Driver 'pcspkr' is already registered, aborting...
[ 7.483880] Error: Driver 'cs5535-smb' is already registered, aborting...

A modules.dep alapjan ez a modul (scx200_acb) semminek sem a fuggosege:

root@voyage:/lib/modules/3.4.4-voyage# cat modules.dep | grep scx200_acb
kernel/drivers/i2c/busses/scx200_acb.ko:
extern/scx200_acb_v2.ko:
root@voyage:/lib/modules/3.4.4-voyage#

mi tortenik ha csak simplan felulirod a regi .ko fajlt az ujjal?

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Kerneles emlékeim szerint elmentődik, hogy egy adott pci id-vel rendelkező eszközhöz melyik modul tartozik -> lelkesen betölti. (Platform device elején régen egy makróval definiáltad a modulon belül, PCI-nél nem emlékszem)