Ik probeer een driver te compileren voor mijn Realtek compatible Edimax PCMCIA netwerkkaartje. Dit doe ik onder linux met een 2.4.19 kernel. Met het kaartje wordt de c-source meegeleverd van de Realtek driver, één header file en een Guide.txt.
De eerste stap van de handleiding is vrij duidelijk:
Daar waar ik mijn PCMCIA niet via de kernel heb gecompileerd maar via een los pakketje, is mijn include directory niet zoals aangegeven maar als volgt:
/usr/src/pcmcia-cs-3.2.0/include/
De uiteindelijke regel die ik dus gebruik om de driver te compileren is:
gcc -DCARDBUS -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O6 -c rtl8139.c -o realtek_cb.o -I/usr/src/pcmcia-cs-3.2.0/include/.
Als ik dat doe geeft dit echter niet het gewenste resultaat, hij geeft een hoop errors/warnings en eindigt met het volgende:
/usr/src/pcmcia-cs-3.2.0/include/pcmcia/driver_ops.h
En vlak voor regel 1581 staat duidelijk:
Iemand enig idee wat ik fout doe ?
De eerste stap van de handleiding is vrij duidelijk:
code:
1
2
3
4
5
6
7
| 1. Compile the source code : ->Copy the source code rtl8139.c (ver 1.08 above) to a directory and execute "gcc -DCARDBUS -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O6 -c rtl8139.c -o realtek_cb.o -I/usr/src/linux/pcmcia-cs-3.0.9/include/" The directory "pcmcia-cs-3.0.9" stands for the card service version you use. Please change it to the version on your system in order to include proper .h file. The final file is realtek_cb.o |
Daar waar ik mijn PCMCIA niet via de kernel heb gecompileerd maar via een los pakketje, is mijn include directory niet zoals aangegeven maar als volgt:
/usr/src/pcmcia-cs-3.2.0/include/
De uiteindelijke regel die ik dus gebruik om de driver te compileren is:
gcc -DCARDBUS -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O6 -c rtl8139.c -o realtek_cb.o -I/usr/src/pcmcia-cs-3.2.0/include/.
Als ik dat doe geeft dit echter niet het gewenste resultaat, hij geeft een hoop errors/warnings en eindigt met het volgende:
code:
De c-structure realtek_ops word gedefineerd in de file:1
2
| rtl8139.c: At top level: rtl8139.c:1581: storage size of `realtek_ops' isn't known |
/usr/src/pcmcia-cs-3.2.0/include/pcmcia/driver_ops.h
En vlak voor regel 1581 staat duidelijk:
code:
Ik ben al veel wezen zoeken en heb veel lopen rommellen met de include paden, maar heb echter geen idee waarom er een foutmelding gegeven wordt over een structure die duidelijk in één van de geinclude files gedefineerd wordt.......1
| #include <pcmcia/driver_ops.h> |
Iemand enig idee wat ik fout doe ?