[Linux-Biella] Associare modulo kernel ad uno specifico device
PaulTT
paultt a bilug.linux.it
Lun 28 Mar 2011 10:44:51 CEST
On 25/03/2011 16:51, f.meini a bilug.linux.it 說:
>>> On 24/03/2011 16:19, f.meini a bilug.linux.it 說:
>>>
>>>>> On 24/03/2011 15:46, f.meini a bilug.linux.it 說:
>>>>>
>>>>>
>>>>>>> On 24/03/2011 14:43, f.meini a bilug.linux.it 說:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>> 2011/3/24 Federico "Darkmagister" Pietta<f.pietta a gmail.com>:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> con lspci, non ricordo le opzioni precise ma un man lspci o
>>>>>>>>>> simile
>>>>>>>>>> torna
>>>>>>>>>> utile con -v o -m non ricordo di preciso
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> Yes, meglio ancora lspci -vvv
>>>>>>>>>
>>>>>>>>> Ciao,
>>>>>>>>> --
>>>>>>>>> Paolo
>>>>>>>>> _______________________________________________
>>>>>>>>> Linux mailing list
>>>>>>>>> Linux a ml.bilug.linux.it
>>>>>>>>> http://ml.bilug.linux.it/mailman/listinfo/linux
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> 1b:00.0 RAID bus controller: Hewlett-Packard Company Smart Array G6
>>>>>>>> controllers (rev 01)
>>>>>>>> ...
>>>>>>>> Ecco che cosa mi è venuto fuori!
>>>>>>>> Dove trovo il vendor ?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> non cosi', lspci -vvv non ti serve a nulla, devi usare:
>>>>>>> lspci -n
>>>>>>> i numerini che ti corrispondono al device 1b:00.0 sono
>>>>>>> idVendor:idProduct
>>>>>>> il vendor e' hp indi e' facile, probabilmente e' 0x103c
>>>>>>> la tua scheda dovrebbe essere la 0x3241
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> lspci -n:
>>>>>> 1b:00.0 0104: 103c:323a (rev 01)
>>>>>> Quindi:
>>>>>> -> Vendor: 0x103c
>>>>>> -> idProduct: 0x323a
>>>>>>
>>>>>> Potrebbe essere?
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> ;P
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Ne approfitto per chiedere un'altra cosa. Attualmente tale
>>>>>>>> controller
>>>>>>>> è
>>>>>>>> gestito con i kernel driver cciss. Ammesso che riesca trovare il
>>>>>>>> modo
>>>>>>>> di
>>>>>>>> dare il comando che mi avete suggerito, il sistema si "arrabbia"
>>>>>>>> se
>>>>>>>> carico un nuovo driver per un device che è già gestito
>>>>>>>> con un
>>>>>>>> altro?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> no, semplicemente ti ignora il dispositivo, visto che non trova
>>>>>>> alcun
>>>>>>> device da claimare....
>>>>>>> devi usare le regole di udev, cmq, altrimenti non ne esci a mano,
>>>>>>> oppure
>>>>>>> ti ricompili il cciss, dicendogli di ignorare gli id del controller
>>>>>>> che
>>>>>>> vuoi gestire con l'altro modulo
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> Mi sembra una strada poco percorribile...
>>>>>>
>>>>>>
>>>>>>
>>>>> perche'?
>>>>>
>>>>>
>>>> Il problema è che un sistema appena installato e configurato a
>>>> puntino.
>>>> Non posso permettermi di fare dei test.
>>>>
>>>>
>>>>
>>>>>>> PS perche' non usi un kernel piu' nuovo?
>>>>>>> il 2.6.37.x usa gia' l'hpsa per gestire tale scheda..... almeno i
>>>>>>> sorgenti dicono cosi'
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> Il kernel utilizzato è 2.6.34.7-0.7-default, abbastanza recente...
>>>>>> Ho proprio bisogno di gestire i due controller con moduli diversi;
>>>>>> temo
>>>>>> infatti che non mi parta più il sistema se anche il controller dei
>>>>>> dischi
>>>>>> viene gestito con il driver hpsa.
>>>>>>
>>>>>> Ma è possibile, a sistema vivo, dire al kernel di non utilizzare
>>>>>> più
>>>>>> un
>>>>>> determinato driver per un determinato device?
>>>>>>
>>>>>>
>>>>>>
>>>>> con udev, come ti ho detto....
>>>>> e' una delle poche cose utili del coso
>>>>> (non che non si potessero fare con hotplug ;P)
>>>>>
>>>>>
>>>>>> Come in modprobe posso specificare di caricare il driver per un
>>>>>> determinato device, in rmmod posso fare la stessa cosa?
>>>>>>
>>>>>> Grazie
>>>>>>
>>>>>>
>>>>>>
>>>>> perche' non puoi usare udev?
>>>>>
>>>>>
>>>>>
>>>> ..non lo conosco...ma se dici che devo passare di lì...
>>>> Mi dai qualche dritta tu?
>>>>
>>>>
>>>>
>>> la cosa piu' pulita sarebbe usare il parametro che ti ha indicato paolo
>>> (ciarroks)
>>>
>>> se no io con udev proverei a fare una roba del genere:
>>> SUBSYSTEM="scsi", ACTION=="add", ATTR{idVendor}=="103c",
>>> ATTR{idProduct}=="323a", KERNELS=="0000:1b:00.0",
>>> OPTIONS+="ignore_device"
>>> (il kernels per via del bus se no le intercetta tutte...)
>>> e metterei in
>>> /etc/modules (o dove prende i moduli da caricare al boot la opensuse)
>>> una riga con
>>> hpsa
>>>
>>>
>> Dando il comando udevadm info -a -p
>> /devices/pci0000:17/0000:17:09.0/0000:1b:00.0 è emerso che
>> SUBSYSTEM="pci":
>>
>> looking at device '/devices/pci0000:17/0000:17:09.0/0000:1b:00.0':
>> KERNEL=="0000:1b:00.0"
>> SUBSYSTEM=="pci"
>> DRIVER=="cciss"
>> ...
>> Ci sono una serie di altre informazioni che potrei inserire nel comando
>> che mi hai indicato.
>>
>> Ma posso, con udev, dire al sistema vivo di non utilizzare più quel
>> maledetto controller?
>>
>> Scusa la domanda, che può sembrare a te banale...Mi sto avvicinando solo
>> ora a udev.
>>
>> Quindi la sintassi dovrebbe essere:
>> SUBSTSTEM="pci", ACTION=="add",....
>>
>>
>> Ciao
>> Fiorenza
>>
>>
>>
> Ho definito questa regola:
> SUBSYSTEM=="pci",ACTION=="add",KERNEL=="0000:1b:00.0",ATTR{vendor}=="0x103c",ATTR{device}=="0x323a",ATTR{modalias}=="pci:v0000103Cd0000323Asv0000103Csd00003241bc01sc04i00",OPTIONS+="ignore_device"
>
> Dove la inserisco ora?
> Ho provato a metterla nella cartella /etc/udev/rules.d, ma eseguendo
> udevadm test --action=add /devices/pci0000:17/0000:17:09.0/0000:1b:00.0
> non la vedo applicata.
>
ecco appunto :D
udev fa un po' quello che vuole ogni tanto purtroppo e serve capire che
parametri di quelli che gli indichi usa effettivamente
puoi provare a togliere dai parametri idvendor e product (tanto punti
all'indirizzo pci, indi non puoi sbagliare)
> Forse devo metterla in un altro posto?
>
no il posto e' quello giusto
> C'è un altro modo per capire se verrà presa in considerazione?
>
> Grazie
>
> Ciao
> Fiorenza
>
--
I had a queen high
straight on the river
Maggiori informazioni sulla lista
Linux