[Linux-Biella] Associare modulo kernel ad uno specifico device
PaulTT
paultt a bilug.linux.it
Lun 28 Mar 2011 10:42:41 CEST
On 25/03/2011 14:57, 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.
>
ies, ottimo
> Ma posso, con udev, dire al sistema vivo di non utilizzare più quel
> maledetto controller?
>
questo non lo so tantissimo, perche' una volta che il modulo e' stato
caricato, non so se te lo lascia scaricare
o meglio, una volta legato al dispositivo non so se te lo lascia buttar giu'
il modulo relativo al disco non dovrebbe scaricarlo cmq, dato che lo sta
usando, se il tape non e' in uso, dovebbe poterlo slegare
pero' non so come farlo questo :(
> 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",....
>
si', solo che devi provare, che udev e' preciso, ma i computer no.... o
circa :D
--
I had a queen high
straight on the river
Maggiori informazioni sulla lista
Linux