Vraag & Antwoord

OS Linux

[RH7.2] LPT aansturen

Anoniem
shoekie
25 antwoorden
  • Heb je al een kijkje genomen op die stie van pascal? Dat doet vlgs mij exact wat je wil. Of zit ik er naast?
  • Yepz… bestandjes gedownload, module gecompiled. Met insmod module geladen, maar wanneer ik dan het test bestandje wil uitvoeren krijg ik de volgende error:
    drvtest van Pascal (C) 2001 GPL / GNU
    opening /dev/lptdrv
    open sucsesfull
    Segmentation fault

    Wat een segmentation fault is, is bij mij onbekend. Het zou kunnen omdat ik een deel uit zijn pdf bestandje niet echt begrijp. Hij heeft het hier over linux/fs.h bij het stukje file operations. Dit kan ik echter nergens vinden.

    Misschien kan iemand hier meer uitleg over geven
  • Ik ben op dit moment bezig om met bitwise operators te (leren) programmeren. Met de gebrekkige kennis die ik momenteel bezit, zou ik een char variable nemen (8 bits) en dan met bitwise operations de enen en nullen op de goeie plaats zetten.

    Hoe je het vervolgens naar een hardware poort moet sturen, staat misschien in het "volgende hoofdstuk". Kweenie, kortom.

    In een van de vorige berichten stond een link naar een pdf. Als je iets van C weet, moet je een eind komen met die informatie.

    Ik noemde al eerder blinkenlights. Dat is een door de vereniging van huisvrouwen erkende term. Heb je al eens gegoogled om te kijken of anderen wellicht reeds het wiel hebben uitgevonden.
  • Misschien kunnen jullie hier wat mee (ik iig niet)
    Het is stuk uit /var/log/messages/ als ik het progje van pascal gebruik.
    De eerste twee regels horen bij het laden van de module. De rest bij het test progje en de laatste hoort bij het ontladen van de module (rmmod lptdrv) welke ik handmatig uitvoer.

    [code:1:b4354ba6d7]
    Aug 13 23:38:21 server kernel: LPTdrv v2.3 by Pascal Schiks
    Aug 13 23:38:21 server kernel: initializing lptdrv at #378
    Aug 13 23:40:12 server kernel: Unable to handle kernel NULL pointer dereference at virtual address 0000002a
    Aug 13 23:40:12 server kernel: printing eip:
    Aug 13 23:40:12 server kernel: c0131774
    Aug 13 23:40:12 server kernel: *pde = 00000000
    Aug 13 23:40:12 server kernel: Oops: 0000
    Aug 13 23:40:12 server kernel: CPU: 0
    Aug 13 23:40:12 server kernel: EIP: 0010:[fget+32/40]
    Aug 13 23:40:12 server kernel: EIP: 0010:[<c0131774>]
    Aug 13 23:40:12 server kernel: EFLAGS: 00010202
    Aug 13 23:40:12 server kernel: eax: c0a71800 ebx: c06aa000 ecx: 00000003 edx: 00000016
    Aug 13 23:40:12 server kernel: esi: 40015a24 edi: bffffaf4 ebp: 00000001 esp: c06abf8c
    Aug 13 23:40:12 server kernel: ds: 0018 es: 0018 ss: 0018
    Aug 13 23:40:12 server kernel: Process drvtest (pid: 1788, stackpage=c06ab000)
    Aug 13 23:40:12 server kernel: Stack: c0130c40 c06abfbc c09e6000 c28936d0 c2893880 c06aa000 00000000 c09e6000
    Aug 13 23:40:13 server kernel: c0292520 c06aa000 40015a24 bffffaf4 bffffa88 c0106dd3 00000003 bffffa7c
    Aug 13 23:40:13 server kernel: 00000001 40015a24 bffffaf4 bffffa88 00000004 0000002b 0000002b 00000004
    Aug 13 23:40:13 server kernel: Call Trace: [sys_write+20/204] [system_call+51/56]
    Aug 13 23:40:13 server kernel: Call Trace: [<c0130c40>] [<c0106dd3>]
    Aug 13 23:40:13 server kernel:
    Aug 13 23:40:13 server kernel: Code: ff 42 14 89 d0 c3 89 f6 8b 4c 24 04 ff 49 14 0f 94 c0 84 c0
    Aug 13 23:40:13 server kernel: <1>Unable to handle kernel NULL pointer dereference at virtual address 0000002a
    Aug 13 23:40:13 server kernel: printing eip:
    Aug 13 23:40:14 server kernel: c0130762
    Aug 13 23:40:14 server kernel: *pde = 00000000
    Aug 13 23:40:14 server kernel: Oops: 0000
    Aug 13 23:40:14 server kernel: CPU: 0
    Aug 13 23:40:14 server kernel: EIP: 0010:[filp_close+6/88]
    Aug 13 23:40:14 server kernel: EIP: 0010:[<c0130762>]
    Aug 13 23:40:14 server kernel: EFLAGS: 00010202
    Aug 13 23:40:15 server kernel: eax: c0a71800 ebx: 00000016 ecx: 00000000 edx: 00000016
    Aug 13 23:40:15 server kernel: esi: c0b39080 edi: 00000001 ebp: 00000003 esp: c06abe3c
    Aug 13 23:40:15 server kernel: ds: 0018 es: 0018 ss: 0018
    Aug 13 23:40:15 server kernel: Process drvtest (pid: 1788, stackpage=c06ab000)
    Aug 13 23:40:15 server kernel: Stack: 00000001 c0b39080 c01169ff 00000016 c0b39080 c2893880 c06aa000 0000000b
    Aug 13 23:40:15 server kernel: 00000001 c0116faf c0b39080 c022b554 c06abf58 c0111421 c022ed19 c09e0000
    Aug 13 23:40:15 server kernel: c01072df 00000000 c022f4f8 c022a2d5 c022b554 00000000 00000001 00000000
    Aug 13 23:40:15 server kernel: Call Trace: [put_files_struct+79/196] [do_exit+211/492] [IRQ0x0f_interrupt+108584/135796] [bust_spinlocks+65/76] [IRQ0x0f_interrupt+122861/135796]
    Aug 13 23:40:15 server kernel: Call Trace: [<c01169ff>] [<c0116faf>] [<c022b554>] [<c0111421>] [<c022ed19>]
    Aug 13 23:40:16 server kernel: [die+71/92] [IRQ0x0f_interrupt+124876/135796] [IRQ0x0f_interrupt+103849/135796] [IRQ0x0f_interrupt+108584/135796] [IRQ0x0f_interrupt+14868/135796] [do_page_fault+819/1076]
    Aug 13 23:40:16 server kernel: [<c01072df>] [<c022f4f8>] [<c022a2d5>] [<c022b554>] [<c0214740>] [<c011181f>]
    Aug 13 23:40:16 server kernel: [tty_default_put_char+26/32] [opost+424/436] [write_chan+455/480] [do_page_fault+0/1076] [error_code+56/64] [fget+32/40]
    Aug 13 23:40:16 server kernel: [<c0160f1e>] [<c0161410>] [<c0162feb>] [<c01114ec>] [<c0106ed0>] [<c0131774>]
    Aug 13 23:40:16 server kernel: [sys_write+20/204] [system_call+51/56]
    Aug 13 23:40:16 server kernel: [<c0130c40>] [<c0106dd3>]
    Aug 13 23:40:16 server kernel:
    Aug 13 23:40:16 server kernel: Code: 8b 43 14 85 c0 75 0f 68 80 62 21 c0 e8 a9 3f fe ff 59 31 c0
    Aug 13 23:40:34 server kernel: <1>LPTdrv removed
    [/code:1:b4354ba6d7]
  • [quote:31e12c1824="shoekie"]
    Misschien kan iemand hier meer uitleg over geven[/quote:31e12c1824]

    Vraag het aan Pascal zelf? Geen beroerde gozer hoor :D
    http://forum.nedlinux.nl hangt ie meestal rond, sectie programmeren lijkt me de juiste plaats.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.