Question about Fsys & Fsys.eide

Over the past several months I had been seeing file corruption issues on my QNX 4 systems. These all dealt with “bad block in cache” errors and I finally got a reply back from QNX stating that we needed to move up to the latest Fsys and Fsys.eide releases in Patch G. Well I did that and it appears to have solved the file corruption problem, but now I’m seeing different behavior in hard drive detection that was not there before.

I’m using an Advantech PCM-9550 SBC with two IDE connections (IDE0 and IDE1). When we build the system its hard drive is connected on IDE1 and we use a hard drive on IDE0 to load the system. Once the system is loaded the drive on IDE0 is removed and we simply left the other drive connected to IDE1. In the build file for ‘/.boot’ the drive ‘/dev/hd0’ is used and this had always worked fine regardless of the drive being connected to IDE0 or IDE1. (This is only for the master on each).

Now since I’ve upgraded Fsys version 4.24V to version 4.24Y, and Fsys.eide version 4.25A to 4.25G, the system reports seeing a device on IDE0 when there is none, and the system will not boot. If I connect the hard drive back onto IDE0 everything boots up fine. In the ‘/dev’ directory there are now two drives present, ‘/hd0’, and /hd1’, but nothing is connected to either the slave connection in IDE0 or anything on IDE1.

I have also had systems that boot up with 3 drives present in ‘/dev’, as ‘/hd0’, ‘/hd1’, and ‘/hd2’. When I run ‘fdisk’ on these non-existant drives using ‘fdisk /dev/hd1 show’ it actually returns drive parameters. Below is an example.

fdisk /dev/hd1 show

Physical disk characteristics: (/dev/hd1)
Driver : EIDE Drvr
Physical Drive # : 1
Disk type : Hard (2)
Cylinders : 108
Heads : 108
Sectors/Track : 108
Total Sectors : 1259712
Partition table information:
0: (0) beg(h=0,s=0,c=0) end(h=0,s=0,c=0) off=0, size=0
1: (0) beg(h=0,s=0,c=0) end(h=0,s=0,c=0) off=0, size=0
2: (0) beg(h=0,s=0,c=0) end(h=0,s=0,c=0) off=0, size=0
3: (0) beg(h=0,s=0,c=0) end(h=0,s=0,c=0) off=0, size=0
signature1=0x00, signature2=0x00

No get around this we are moving the hard drives to IDE0, but it seems odd that Fsys.eide is seeing devices that are not there. Has anyone else seen this problem?


Ivan Bannon
RJG Inc.