Discussioni sul sistema operativo Linux
 

Proporre una patch ad un modulo del kernel

Joe 4 Giu 2015 10:12
Mi servirebbe un consiglio su come proporre agli sviluppatori del kernel
linux una piccola modifica ad un modulo del kernel.

Si tratta del modulo "option", un driver usb ******* coinvolto nel
riconoscimento di diversi dispositivi modem collegati via usb.

Nel mio caso particolare sono alle prese con una chiavetta Olivetti
Olicard-300.
Già sul forum di usbmodeswitch mi sono fatto dare una mano per riuscire
a farla funzionare:

http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?f=3&t=2273

Il dispositivo presenta diverse interfacce, vi mostro l'output di
usb-devices:
------------------
T: Bus=01 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#= 10 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=option
I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
-------------------

Appena viene inserita viene riconosciuta come 2020:0002,
poi usb-modeswitch interviene e ne modifica il produc-id
come vedete sopra: 2020:4000.

A questo punto il driver cdc_mbim si aggancia alle prime
due interfacce del dispositivo e usb_storage alla settima.

Le altre interfacce resterebbero "unbound" utilizzando la versione
standard del modulo option.
Con la mia modifica, suggerita per altro nel topic linkato sopra
ecco che le interfacce "orfane" vengono regolarmente prese in
consegna dal modulo "option".
In questo modo la chiavetta può essere utilizzata anche come modem
classico e vi vengono associate 4 porte tipo /dev/ttyUSB*.

Alla fine si ha l'alternativa per esempio per connettersi ad internet
di utilizzare la classica connessione dialup via PPP (grazie al modulo
"option") oppure collegandosi via MBIM grazie al modulo cdc_mbim e
al pacchetto libmim.

Fine del prologo. :)
Ora vorrei proporre a chi mantiene il modulo "option", la mia versione
modificata.
Che poi nella pratica si tratta semplicemente di una riga aggiuta al
sorgente "option.c":
-----------------------------------------------------------------------
1689 { USB_DEVICE_INTERFACE_CLASS(0x2020, 0x4000, 0xff) }, /*
OLICARD300 - MT6225 */
---------------------

È tutto su una riga...

Sarebbe utile a tutti se questa riga fosse già inclusa nel modulo
option.c del nuovo kernel, in modo tale che altri che possiedono
questa chiavetta possano utilizzarla senza dover applicare patch
ecc..

Ciò che vorrei chiedervi è quindi:
Come posso fare per proporre questa nuova versione del modulo?
Chi posso contattare per proporre questa modifica?

Spero che questo ng sia adeguato alla domanda.
Grazie in anticipo!
Joe 4 Giu 2015 10:32
Joe <joe@invalid.invalid> wrote:
>
> Ora vorrei proporre a chi mantiene il modulo
> "option", la mia versione modificata. Che poi nella
> pratica si tratta semplicemente di una riga aggiuta
> al sorgente "option.c":
> -----------------------------------------------------------------------
> 1689 { USB_DEVICE_INTERFACE_CLASS(0x2020, 0x4000, 0xff) }, /*
> OLICARD300 - MT6225 */
> ---------------------
>
> È tutto su una riga...
>
> Sarebbe utile a tutti se questa riga fosse già
> inclusa nel modulo option.c del nuovo kernel, in
> modo tale che altri che possiedono questa chiavetta
> possano utilizzarla senza dover applicare patch ecc..
>
> Ciò che vorrei chiedervi è quindi:
> Come posso fare per proporre questa nuova versione
> del modulo?
> Chi posso contattare per proporre questa modifica?


Aggiungo: leggendo qua:
https://www.kernel.org/doc/linux/MAINTAINERS

Ho trovato questo:
---------------------
USB ******* SUBSYSTEM
M: Johan Hovold <johan@kernel.org>
L: linux-usb@vger.kernel.org
S: Maintained
F: Documentation/usb/usb ******* txt
F: drivers/usb *******
F: include/linux/usb ******* h
-----------------------------------

Siccome il driver in questione è collocato in:
'linux-3.19.4/drivers/usb ******* option.c'

Ne deduco che il maintainer dei driver
in questione (/drivers/usb ******* sia proprio
Johan Hovold.

Potrebbe avere senso seconodo voi contattarlo
direttamente al suo indirizzo, oppure avrebbe
più senso proporre la cosa sulla mailing list
"linux-usb@vger.kernel.org"?

Una vostra conferma o un commento mi sarebbero utili,
grazie di nuovo in anticipo.
Sandro kensan 4 Giu 2015 13:38
On 06/04/2015 10:32 AM, Joe wrote:

> Una vostra conferma o un commento mi sarebbero utili,
> grazie di nuovo in anticipo.

Apri un bug e proponi la soluzione. Chi di dovere metterà in cc le
persone adeguate allo scopo e la soluzione andrà a finire allo
sviluppatore che si occupa del modulo.
--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
Joe 4 Giu 2015 13:59
Sandro kensan <kensan@kensan.it> wrote:
>
> Apri un bug e proponi la soluzione. Chi di dovere
> metterà in cc le persone adeguate allo scopo e la
> soluzione andrà a finire allo sviluppatore che si
> occupa del modulo.

Scusa la bassezza ma... come si fà?

Ad ogni modo qua più che di un bug si tratta
di una richiesta di funzionalità ommeglio di
supporto ad un device che attualmente manca.

In ogni caso grazie per l'indicazione.
Sandro kensan 4 Giu 2015 16:52
On 06/04/2015 01:59 PM, Joe wrote:

> Scusa la bassezza ma... come si fà?

Vedi se questo può aiutare:

https://bugzilla.kernel.org/show_bug.cgi?id=98011

--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
Joe 4 Giu 2015 19:03
Sandro kensan <kensan@kensan.it> wrote:
> On 06/04/2015 01:59 PM, Joe wrote:
>
>> Scusa la bassezza ma... come si fà?
>
> Vedi se questo può aiutare:
>
> https://bugzilla.kernel.org/show_bug.cgi?id=98011

Vedo, ma la mia è più una proposta di patch
che non l'avvertimento di un bug nel codice.

Dai un'occhiata anche qui:
http://thread.gmane.org/gmane.linux.kernel/1958384/focus=125936

Come vedi è pubblicato anche sulla mailing list linux-usb:
gmane.linux.usb.general che in pratica da come ho capito
è proprio la lista linux-usb:

linux-usb@vger.kernel.org

Tant'è che lo stesso messaggio si legge anche da qui:
http://www.spinics.net/lists/linux-usb/msg125065.html

Il tizio proponeva proprio la modifica del sorgente
option.c per supportare il device in oggetto


Io pensavo di iscrivermi bellamente alla mailing list
li sopra e spiegare come viene riconosciuta la chiavetta
senza col modulo "option" originale e come si sistema
tutto aggiungendo nel modulo il supporto al mio modello,
che in pratica è una riga di codice, tanto per capirci:

{ USB_DEVICE_INTERFACE_CLASS(0x2020, 0x4000, 0xff) },
/* OLICARD300 - MT6225 */

In pratica dice al kernel di agganciare il driver option
a tutte le interfacce del device di Vnd/Prd_ID 2020:4000
che presentano classe "0xff".
In effetti quelle interfacce sono proprio relative a
funzionalità modem HSPA e dal sito di usb_modeswitch
mi confermano che vanno prese in consegna proprio dal
modulo "option".

Dici che vi è qualcosa di sbagliato nello spiegare la
situazione sulla mailing list di cui sopra?
Sandro kensan 4 Giu 2015 20:48
On 06/04/2015 07:03 PM, Joe wrote:

> Dici che vi è qualcosa di sbagliato nello spiegare la
> situazione sulla mailing list di cui sopra?

Forse hai ragione tu ma i bug li aprono "cani e *****i" per cui è qualche
cosa che si può fare facilmente. Comunque vai di mailing list, in un
modo o nell'altro non troverai problemi, c'è sempre qualcuno che ti sa
indicare la via giusta.

--
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov
Joe 4 Giu 2015 23:17
Sandro kensan <kensan@kensan.it> wrote:
> On 06/04/2015 07:03 PM, Joe wrote:
>
>> Dici che vi è qualcosa di sbagliato nello
>> spiegare la situazione sulla mailing list di
>> cui sopra?
>
> Forse hai ragione tu ma i bug li aprono "cani e
> *****i" per cui è qualche cosa che si può fare
> facilmente. Comunque vai di mailing list, in un
> modo o nell'altro non troverai problemi, c'è sempre
> qualcuno che ti sa indicare la via giusta.

Ok, grazie delle risposte.
Alla prossima! :)

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Discussioni sul sistema operativo Linux | Tutti i gruppi | it.comp.os.linux.sys | Notizie e discussioni linux | Linux Mobile | Servizio di consultazione news.