Per attivarne alcune funzionalità mi è stato necessario scaricare ed installare un kernel recente che ho al momento in uso da qualche giorno e pare funzionare senza problemi.
Una di queste chiavette viene gestita su alcune su interfacce dal modulo "option".
Purtroppo però all'inserimento del dispositivo tale modulo non viene automagicamente caricato e tanto meno prende in conegna le interfacce del dispositivo di sua potenziale competenza.
Per spiegarmi meglio vi metto di seguito l'output del comando "usb-devices" che mette in evidenza i driver che stanno gestendo le varie interfacce del dispositivo.
Codice: Seleziona tutto
T: Bus=01 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#= 11 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=2020 ProdID=4000 Rev=03.00
S: Manufacturer=Network Connect
S: Product=MT6225
C: #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=(none)
I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I: If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I: If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I: If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
Questo è quello che accade senza intervenire con alcuna regola di udev o altra configurazione che forza il modulo option a prendere in consegna le interfaccie la cui voce Driver è marchiata come "(none)".
Tanto per la cronaca aggiungo che volendo basta aggiungere id vendor e product al file /sys/bus/usb-serial/drivers/option1/new_id:
Codice: Seleziona tutto
# echo "2020 4000" > /sys/bus/usb-serial/drivers/option1/new_id
Così facendo al posto del "(none)" leggeremo "option".
Sembra che un'altra strada per far si che la gestione delle interfacce orfane venga presa in consegna da "option" sia quella di modificare il sorgente del driver, appunto "option.c" e quindi ricompilare il kernel per apportare la modifica e aver un modulo "option.ko" modificato e pronto da testare.
Siccome vorrei evitare di ricompilare l'intero kernel, per questioni di tempistiche, mi chiedevo se fosse possibile compilare solamente il modulo option.
Al momento ho i sorgenti del kernel in uso sul sistema, già lavorati, visto che l'ho compilato l'altro giorno.
Che procedura potrei seguire per compilare solo il modulo option?