'dd' command hangs the system

Greetings,

here is the weird problem that I have run into today. All
I need to do in order to hang QNX-6.2 system is to execute the following
two lines:

cd /tmp

dd if=/dev/hd0t79 of=x count=100000

After that I no longer can execute any command - I am getting ‘command
not found’ error message. My feeling is that I have completely lost
access to hard disk. the only way out of this situation that
I found, is to hit the RESET button.

There is absolutely nothing special about the board or QNX-6.2
installation. The board itself is just a standard PC: ASUS P2B
motherboard, P2-333 processor, 512 MBytes of RAM, 4.3 GB Western
Digital hard disk as IDE primary master, 32x CDROM as IDE secondary
master, ATI Rage-2 video card, and 3COM 3C905B-TX network adapter.
It works beautifylly with both FreeBSD and Linux. It also works
with QNX-6.2 (with Photon, qconn etc.) if I don’t execute the
two lines above. I have allocated the entire 4.3 Gb hard disk
to QNX-6.2.0 (NC edition, downloaded yesterday from QNX web site).
I tried reducing system configuration to a minimum -
I don’t boot into Photon, I don’t start inetd, no qconn etc,
but problem still happens.

Did anybody see this problem ?

regards,
Andray

Andray Kaganovsky <andrayk@deletefutureway.com> wrote:

here is the weird problem that I have run into today. All
I need to do in order to hang QNX-6.2 system is to execute the following

cd /tmp

dd if=/dev/hd0t79 of=x count=100000

After that I no longer can execute any command - I am getting ‘command
not found’ error message. My feeling is that I have completely lost
access to hard disk. the only way out of this situation that
I found, is to hit the RESET button.

This looks exactly like an issue reported in March in the “jaguar”
conference (thread 28, if you have access). Turns out to be DMA
related corruption reading from the hard drive because the chipset
lied about it’s capabilities (the fix was to degrade the max UDMA
mode, but I thought that was the default for the 6.2 driver?!). Can
you repeat this with non-DMA … ?

There is absolutely nothing special about the board or QNX-6.2

You don’t mention your EIDE chipset. What is it (“pci -v”)? The
one involved in the previous issue was a VIA82C586.

John Garvey <jgarvey@qnx.com> wrote in news:ajei1r$rua$1@nntp.qnx.com:

Andray Kaganovsky <> andrayk@deletefutureway.com> > wrote:
here is the weird problem that I have run into today. All
I need to do in order to hang QNX-6.2 system is to execute the following

cd /tmp

dd if=/dev/hd0t79 of=x count=100000

After that I no longer can execute any command - I am getting ‘command
not found’ error message. My feeling is that I have completely lost
access to hard disk. the only way out of this situation that
I found, is to hit the RESET button.

This looks exactly like an issue reported in March in the “jaguar”
conference (thread 28, if you have access). Turns out to be DMA
related corruption reading from the hard drive because the chipset
lied about it’s capabilities (the fix was to degrade the max UDMA
mode, but I thought that was the default for the 6.2 driver?!). Can
you repeat this with non-DMA … ?

There is absolutely nothing special about the board or QNX-6.2

You don’t mention your EIDE chipset. What is it (“pci -v”)? The
one involved in the previous issue was a VIA82C586.

[AndrayK 2]. Thanks for your help, John. It seems that you are correct -
once I boot /.altboot instead of /.boot, the problem went away.

Here is an output from ‘pci -v’ in case you are still interested in it:

=========
PCI version = 2.10

Class = Bridge (Host/PCI)
Vendor ID = 8086h, Intel Corporation
Device ID = 7190h, 82443BX/ZX 440BX/ZX AGPset Host Bridge
PCI index = 0h
Class Codes = 060000h
Revision ID = 3h
Bus number = 0
Device number = 0
Function num = 0
Status Reg = 2210h
Command Reg = 106h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 40h
Cache Line Size= 0h
Max Lat = 0ns
Min Gnt = 0ns
PCI Int Pin = NC
Interrupt line = 0
Capabilities Pointer = a0h
Capability ID = 2h
Capabilities = 10h - 1f000203h

Class = Bridge (PCI/PCI)
Vendor ID = 8086h, Intel Corporation
Device ID = 7191h, 82443BX/ZX 440BX/ZX AGPset PCI-to-PCI bridge
PCI index = 0h
Class Codes = 060400h
Revision ID = 3h
Bus number = 0
Device number = 1
Function num = 0
Status Reg = 220h
Command Reg = 117h
Header type = 1h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 40h
Cache Line Size= 0h
Primary Bus Number = 0h
Secondary Bus Number = 1h
Subordinate Bus Number = 1h
Secondary Latency Timer = 40h
I/O Base = d0h
I/O Limit = d0h
Secondary Status = 22a0h
Memory Base = e200h
Memory Limit = e2c0h
Prefetchable Memory Base = e2f0h
Prefetchable Memory Limit= e3f0h
Prefetchable Base Upper 32 Bits = 0h
Prefetchable Limit Upper 32 Bits = 0h
I/O Base Upper 16 Bits = ffffh
I/O Limit Upper 16 Bits = ffffh
Bridge Control = 136ns
PCI Int Pin = NC
Interrupt line = 0

Class = Bridge (PCI/ISA)
Vendor ID = 8086h, Intel Corporation
Device ID = 7110h, 82371AB/EB PIIX4 ISA Bridge
PCI index = 0h
Class Codes = 060100h
Revision ID = 2h
Bus number = 0
Device number = 4
Function num = 0
Status Reg = 280h
Command Reg = fh
Header type = 0h Multi-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 0h
Cache Line Size= 0h
Max Lat = 0ns
Min Gnt = 0ns
PCI Int Pin = NC
Interrupt line = 0

Class = Mass Storage (IDE)
Vendor ID = 8086h, Intel Corporation
Device ID = 7111h, 82371AB/EB PIIX4 IDE Controller
PCI index = 0h
Class Codes = 010180h
Revision ID = 1h
Bus number = 0
Device number = 4
Function num = 1
Status Reg = 280h
Command Reg = 5h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 20h
Cache Line Size= 0h
PCI IO Address = b800h length 16 enabled
Max Lat = 0ns
Min Gnt = 0ns
PCI Int Pin = NC
Interrupt line = 0

Class = Serial Bus (Universal Serial Bus)
Vendor ID = 8086h, Intel Corporation
Device ID = 7112h, 82371AB/EB PIIX4 USB Interface
PCI index = 0h
Class Codes = 0c0300h
Revision ID = 1h
Bus number = 0
Device number = 4
Function num = 2
Status Reg = 280h
Command Reg = 5h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 20h
Cache Line Size= 0h
PCI IO Address = b400h length 32 enabled
Max Lat = 0ns
Min Gnt = 0ns
PCI Int Pin = INT D
Interrupt line = 5

Class = Bridge (Unknown)
Vendor ID = 8086h, Intel Corporation
Device ID = 7113h, 82371AB/EB PIIX4 Power Management Controller
PCI index = 0h
Class Codes = 068000h
Revision ID = 2h
Bus number = 0
Device number = 4
Function num = 3
Status Reg = 280h
Command Reg = 3h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 0h
Cache Line Size= 0h
Max Lat = 0ns
Min Gnt = 0ns
PCI Int Pin = NC
Interrupt line = 0

Class = Bridge (Unknown)
Vendor ID = 1283h, Integrated Technology Express Inc.
Device ID = 8888h, IT8888F PCI to ISA Bridge with SMB
PCI index = 0h
Class Codes = 068000h
Revision ID = 3h
Bus number = 0
Device number = 9
Function num = 0
Status Reg = 280h
Command Reg = 7h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 0h
Cache Line Size= 0h
Max Lat = 0ns
Min Gnt = 0ns
PCI Int Pin = NC
Interrupt line = 0

Class = Network (Ethernet)
Vendor ID = 10b7h, 3Com Corporation
Device ID = 9055h, 3C905B-TX Fast Etherlink 10/100 PCI TX NIC
PCI index = 0h
Class Codes = 020000h
Revision ID = 30h
Bus number = 0
Device number = 10
Function num = 0
Status Reg = 210h
Command Reg = 17h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 20h
Cache Line Size= 8h un-cacheable
PCI IO Address = b000h length 128 enabled
PCI Mem Address = e1800000h 32bit length 128 enabled
Subsystem Vendor ID = 10b7h
Subsystem ID = 9055h
Max Lat = 10ns
Min Gnt = 10ns
PCI Int Pin = INT A
Interrupt line = 10
Capabilities Pointer = dch
Capability ID = 1h
Capabilities = 7601h - 0h

Class = Display (VGA)
Vendor ID = 1002h, ATI Technologies
Device ID = 4742h, Rage 3D Pro AGP 2x
PCI index = 0h
Class Codes = 030000h
Revision ID = 5ch
Bus number = 1
Device number = 0
Function num = 0
Status Reg = 290h
Command Reg = 87h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 40h
Cache Line Size= 8h un-cacheable
PCI Mem Address = e3000000h prefetchable 32bit length 16777216 enabled
PCI IO Address = d800h length 256 enabled
PCI Mem Address = e2000000h 32bit length 4096 enabled
Subsystem Vendor ID = 1002h
Subsystem ID = 80h
PCI Expansion ROM = e2fe0000h length 131072 disabled
Max Lat = 0ns
Min Gnt = 8ns
PCI Int Pin = NC
Interrupt line = 108
Capabilities Pointer = 50h
Capability ID = 2h
Capabilities = 10h - ff000203h

best regards,
Andray

Andray Kaganovsky <andrayk@deletefutureway.com> wrote:

You don’t mention your EIDE chipset. What is it (“pci -v”)? The
one involved in the previous issue was a VIA82C586.

[AndrayK 2]. Thanks for your help, John. It seems that you are correct -
once I boot /.altboot instead of /.boot, the problem went away.

Class = Mass Storage (IDE)
Vendor ID = 8086h, Intel Corporation
Device ID = 7111h, 82371AB/EB PIIX4 IDE Controller

If that is the case, then we now have an intel and via chip with a DMA
issue. :frowning:

The Via issue was originally discovered and reported by me. Unfortunately
I have a second system running an Asus P2BLS, which probably has the same
chipset. I haven’t pushed that box, so I haven’t seen it. I will try to push
it to see if I can duplicate the issue.

Cheers,
Camz.