Ogni device pci è identificato da una coppia di numeri, il vendor id e il device id. Nel caso specifico il device id era 1057:3052 (0x1057 è Motorola).
Il device ID è specifico per produttore (nel senso che un altro produttore può usare il device id 3052 per un device che nulla potrebbe avere a che fare con il modem Motorola SM56). Tuttavia, ho notato che altre volte motorola ha usato chipsets non suoi mantenendo il device Id di chi glieli aveva forniti. Un po' di ricerca mi ha rivelato che il device id 3052 è usato per un vecchio winmodem smartlink supportato da slmodemd.
Mi sono scaricato i sorgenti di slmodemd e ho pistolato un po' in giro, fino a che nel file drivers/amrmo_init.c ho trovato dove sono elencati i device rilevati come gestibili. Ho aggiunto un bel:
- Codice: Seleziona tutto
[zello@zello drivers]$ cat 1057_3052.patch
139,141d138
< /* Motorola */
< #define PCI_VENDOR_ID_MOTOROLA 0x1057
<
237,238d233
< {PCI_VENDOR_ID_MOTOROLA, PCI_DEVICE_ID_SL1900, /* 1057:3052 */
< PCI_ANY_ID, PCI_ANY_ID, 0, 0, SL1900_CARD},
(di fatto ho assimilato il motorola sm56 allo smartlink che vi dicevo prima).
Beh, sapete una cosa? Funziona.
Vi dico che sono soddisfazioni.