WIN(!)-Modem-Treiber (was: Modemtreiber)

Jan-Benedict Glaw jbglaw at lug-owl.de
Tue Jul 13 17:39:05 CEST 2004


On Tue, 2004-07-13 16:53:02 +0200, Marcus Schopen <marcus at localguru.de>
wrote in message <200407131653.02302.marcus at localguru.de>:
> On Tuesday 13 July 2004 16:29, Jan-Benedict Glaw wrote:
> > Sich darauf zu verlassen, daß binäre Treiber laufen, bei einem Kernel,
> > der ausschließlich auf (begrenzte) Source-Kompatibilität, ist irgendwas
> > zwischen leichtsinnig oder anmaßend.
> 
> Ach so ist das?! Aber mal nachzufragen, ob's nicht doch mit ein paar Kniffen 
> geht, ist m.E. nicht verkehrt. Zumindest bevor man hingeht und ständig ein 
> externes Modem mit sich rumschleppen muss. ;-)

Der Punkt ist: es läuft eher zufällig, als durch sein Design. Bei diesen
ganzen binären Treibern hast Du immer Deines Kernels ABI auf der einen
Seite, und die des Treiberentwicklers auf der anderen Seite. Von alleine
würde das _garnicht_ laufen, Du würdest die Module nichtmal geladen
bekommen.

Daher baut der Entwickler für gewöhnlich ein kleines Stückchen Software
um seinen Treiber herum, der das auf Deinem System kompiliert wird (und
hoffentlich zu Deiner ABI paßt) und ganz tief einprogrammiert bekommt,
wie nach Meinung des Autors seines Treibers ABI aussieht. Der Kernel
bekommt neue Optionen? Er muß hinterherkacheln, Du bist von ihm
abhängig. Wenn Du Pech hast, läßt sich sein Wrapper selbst dann noch
kompilieren, wenn es inkompatible ABI-Änderungen gegeben hat. Dann
stürzt es ab, und Du bekommst nichtmal 'ne Warnung:)

Ein paar Dinge sind bekannt, die sich ständig ändern, die sind in der
"vermagic"-Variable abgelegt:
# objdump -s -j .modinfo /lib/modules/`uname -r`/kernel/fs/binfmt_misc.ko

/lib/modules/2.6.5/kernel/fs/binfmt_misc.ko:     file format elf32-i386

Contents of section .modinfo:
 0000 6c696365 6e73653d 47504c00 00000000  license=GPL.....
 0010 00000000 00000000 00000000 00000000  ................
 0020 7665726d 61676963 3d322e36 2e372053  vermagic=2.6.7 S
 0030 4d50204b 37205245 47504152 4d206763  MP K7 REGPARM gc
 0040 632d332e 33006465 70656e64 733d00    c-3.3.depends=.

Das sind allein schon 5 Merkmale -- und mir fallen aus dem Stand noch
weitere ein, die da nicht in der Liste sind... Wenn eines davon nicht
paßt, hast Du keine Freude:)

MfG, JBG

-- 
   Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg
    fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!
   ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20040713/1db3e6a5/attachment.sig>


More information about the Linux mailing list