Hello.
I met a problem I can't solve.
1. My hardware is:
Advantech PCA-6135/L all-in-one CPU Card with i386sx-40 CPU, 16Mb RAM,
HDD Quantum 170Mb, Trident SVGA 8900,
ne2000-compatible ethernet card _OR_ 3c509 card.
Both ethernet cards are ISA and have the same resources:
base i/o = 0x300, irq = 10. There was not any irq or
i/o addresses conflicts with other controllers.
2. I successfully compiled and tested rtlinux-2.2 with 3c509.
(prepatched kernel 2.2.14 from www.fsmlabs.com)
BUT when I change 3c509 to ne2000 ISA ethernet
my rt-kernel hangup during the boot process.
The last lines I saw were:
> Apr 17 04:42:47 rtl kernel: hda: QUANTUM ELS170A, ATA DISK drive
sometimes I see the next line too:
> Apr 17 04:42:47 rtl kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
but then system stands up and does not respond to keyboard clicks
(Ctrl-Alt-Del too...)
( without ne2000 next 2 lines are:
> Apr 17 04:42:47 rtl kernel: hda: QUANTUM ELS170A, 162MB w/32kB Cache, CHS=1011/15/22
> Apr 17 04:42:47 rtl kernel: FDC 0 is a post-1991 82077 )
...
3. When I test the _same_ kernel on Pentium CPU (P133 and Celeron500
were tested) everything works properly with ne2000 ISA ethernet.
4. When I compiled pure linux-2.2.14 kernel result was Ok.
Kernel config was the _same_. Linux 2.2.14 CAN work on my
hardware with ne2000, but rt-linux 2.2 can't...
5. MS-DOS 6.22, FreeBSD 3.4, FreeBSD 4.0 were booted
without any problems on the same hardware.
6. I tried to explore the problem by tracing the boot process.
I found that boot has process reached line 611 in the file
rtlinux-2.2/linux/drivers/block/ide-probe.c (function init_irq())
605> if (!hwgroup->hwif) {
606> hwgroup->hwif = HWIF(hwgroup->drive);
607> #ifdef DEBUG
608> printk("%s : Adding missed hwif to hwgroup!!\n", hwif->name);
609> #endif
610> }
611> restore_flags(flags); /* all CPUs; safe now that hwif->hwgroup is set
up */
612>
613> #if !defined(__mc68000__) && !defined(CONFIG_APUS) && !defined(__sparc__)
then, after enabling interupt handler via restore_flags() call,
process never go next line and handles IRQ 14 all the time...
(function rtl_intercept() in rtlinux-2.2/linux/arch/i386/kernel/irq.c)
How can I solve this problem?
I can use 3c509 but it's not suitable for some reason.
And I'd like to understand: why combiation of
i386sx-40 + ne2000 (ISA) + rtlinux-2.2 does not work?
If somebody can help me I can give more detailed information
about my environment and methods and conditions of my tests.
Thank in advance.
sincerely,
Dmitry Kargapolov [EMAIL PROTECTED], ICQ 54000305
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/