devb-fdc

Hello!
The doc says: “The devb-fdc driver terminates only if an error occurs during startup, or if it has
successfully forked itself upon startup because it hadn’t been initially started in the
background.” Which errors does doc say about? Does “successfully forked” mean “there is enough
recourse to fork”? My floppy drive is dead. I’ve removed the drive from system (ok, I know I should
disable FDD in BIOS then devb-fdc will not start during startup). I’m surprised to see devb-fdc in
memory. Is not it enough reason do not start driver if there is no the device? I have done the next
experiment (without FDD):

devb-fdc

pidin |grep devb-fdc

479267 1 sbin/devb-fdc 10o CONDVAR b034b2e0
479267 2 sbin/devb-fdc 21r INTR
(few seconds later I get)

Path=0-sim_init failed

(here I should press Enter to get shell prompt)

pidin |grep devb-fdc

479267 1 sbin/devb-fdc 10o SIGWAITINFO

Is this normal? I’ve seen the FDD lamp turns on during startup for some seconds (of course, when my
FDD was alive), and I’m sure that was not a BIOS intervention. I guess that was FDD autodetection
by devb-fdc (or by io-blk during creation /dev/fd0). Is there any way to disable autodetection
during startup? How can I disable lamp flash during startup?

Thanks,
Eduard.

Hi Eduard,

Do you disable the floppy controller in the BIOS as well?
It may be in the script somewhere, that it doesn’t bother to
detect, rather it just assumes (greatest common denominator)
everyone has a floppy (accept me :slight_smile: ). So it just runs the
driver regardless of if the controller is detected in the system.

I think you can disable the autodetection in the enumerator
disables, or driver disables. But I could be wrong.

I just looked at the code, and from what I can tell this has
just been fixed. fdc_sim_detach was just updated so
that is probably why the driver didn’t exit.

I have mailed you the latest version, please let me know if it
makes a difference or not.

Thanks

Erick.


ed1k <ed1k@yahoo.com> wrote:

Hello!
The doc says: “The devb-fdc driver terminates only if an error occurs during startup, or if it has
successfully forked itself upon startup because it hadn’t been initially started in the
background.” Which errors does doc say about? Does “successfully forked” mean “there is enough
recourse to fork”? My floppy drive is dead. I’ve removed the drive from system (ok, I know I should
disable FDD in BIOS then devb-fdc will not start during startup). I’m surprised to see devb-fdc in
memory. Is not it enough reason do not start driver if there is no the device? I have done the next
experiment (without FDD):

devb-fdc

pidin |grep devb-fdc

479267 1 sbin/devb-fdc 10o CONDVAR b034b2e0
479267 2 sbin/devb-fdc 21r INTR
(few seconds later I get)

Path=0-sim_init failed

(here I should press Enter to get shell prompt)

pidin |grep devb-fdc

479267 1 sbin/devb-fdc 10o SIGWAITINFO

Is this normal? I’ve seen the FDD lamp turns on during startup for some seconds (of course, when my
FDD was alive), and I’m sure that was not a BIOS intervention. I guess that was FDD autodetection
by devb-fdc (or by io-blk during creation /dev/fd0). Is there any way to disable autodetection
during startup? How can I disable lamp flash during startup?

Thanks,
Eduard.

Hi Erick,

Hardware Support Account <hw@qnx.com> wrote in article <9qn5h1$6h4$1@nntp.qnx.com>…

Hi Eduard,

Do you disable the floppy controller in the BIOS as well?
It may be in the script somewhere, that it doesn’t bother to
detect, rather it just assumes (greatest common denominator)
everyone has a floppy (accept me > :slight_smile: > ). So it just runs the
driver regardless of if the controller is detected in the system.

I think you can disable the autodetection in the enumerator
disables, or driver disables. But I could be wrong.

The enumerator does not start devb-fdc if FDD is disabled in BIOS. That is I don’t see devb-fdc in
systems memory if I have disabled floppy drives in BIOS. Exactly “Floppy drive A: not installed,
Floppy drive B: not installed”. I have no option “Report no FDD to Windows”, but I’d seen this
option in some modern BIOS :wink:. I have forgotten to edit BIOS settings when I had physically
removed drive. So enumerator seems to use somehow BIOS configuration settings. I only expected the
driver exits clean if it fails.

I just looked at the code, and from what I can tell this has
just been fixed. fdc_sim_detach was just updated so
that is probably why the driver didn’t exit.

I have mailed you the latest version, please let me know if it
makes a difference or not.

I’ll try the new driver and you’ll get feedback shortly. Thank you very much.
Eduard.

Thanks

Erick.

Hi,

I’ve attached the new FD drive. Here is some my experiments with devb-fdc

pidin |grep devb-fdc

Get nothing because I’ve disabled it in startup script :slight_smile:. So start driver manualy

devb-fdc cam verbose blk cache=128k

[00] SIM=“QSSL FDC” HBA=“i82077”

[00,0,0] type=00 ver=01 resp=00 fdc
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in databyte
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=2, asc=3a, ascq=0
scsi_interpret_sense: ASC_MEDIA_NOT_PRESENT
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 35 in databyte

I see 3 errors at least. Why? My new floppy works fine under QNXRTP :wink: What does this startup test
do? It causes a light of the drive’s green lamp for 4-8 seconds. What does ASC_MEDIA_NOT_PRESENT
mean? I only start driver, I do not mount anything yet. Kill driver

pidin |grep devb-fdc

1552424 1 sbin/devb-fdc 10o SIGWAITINFO
1552424 2 sbin/devb-fdc 21r RECEIVE 1
1552424 3 sbin/devb-fdc 10o RECEIVE 7
1552424 4 sbin/devb-fdc 10o CONDVAR b0378fec
1552424 5 sbin/devb-fdc 10o RECEIVE 4
1552424 6 sbin/devb-fdc 10o RECEIVE 4

kill 1552424

Insert floppy disk into drive and start driver again

devb-fdc cam verbose blk cache=128k

[00] SIM=“QSSL FDC” HBA=“i82077”

[00,0,0] type=00 ver=01 resp=00 fdc
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in databyte
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=28, ascq=ff
scsi_interpret_sense: ASC_MEDIUM_CHANGED
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 35 in databyte

It has found the new diskette into drive! What for?
Just for fun I start driver some times

devb-fdc cam verbose blk cache=128k

devb-fdc cam verbose blk cache=128k

pidin |grep devb-fdc

1589288 1 sbin/devb-fdc 10o SIGWAITINFO
1589288 2 sbin/devb-fdc 21r RECEIVE 1
1589288 3 sbin/devb-fdc 10o RECEIVE 7
1589288 4 sbin/devb-fdc 10o CONDVAR b0378fec
1589288 5 sbin/devb-fdc 10o RECEIVE 4
1589288 6 sbin/devb-fdc 10o RECEIVE 4
1593385 1 sbin/devb-fdc 10o SIGWAITINFO
1597482 1 sbin/devb-fdc 10o SIGWAITINFO

Cool! I’d tell I did not get error message during repeatly start of driver in pterm. I got error
message without Photon, but I had the same situation: three or more drivers in memory.
Reboot and setup Floppy 3 Mode in BIOS (I don’t know what it is, but just in case)

devb-fdc cam verbose blk cache=128k

[00] SIM=“QSSL FDC” HBA=“i82077”

[00,0,0] type=00 ver=01 resp=00 fdc
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in databyte
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=28, ascq=ff
scsi_interpret_sense: ASC_MEDIUM_CHANGED
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 35 in databyte

Nothing new… Kill driver and start as in doc’s example

pidin |grep devb-fdc

503845 1 sbin/devb-fdc 10o SIGWAITINFO
503845 2 sbin/devb-fdc 21r RECEIVE 1
503845 3 sbin/devb-fdc 10o RECEIVE 7
503845 4 sbin/devb-fdc 10o CONDVAR b0378fec
503845 5 sbin/devb-fdc 10o RECEIVE 4
503845 6 sbin/devb-fdc 10o RECEIVE 4

kill 503845

devb-fdc blk cache=128k &

[1] 528421

Path=0 - i82077

target=0 lun=0 Direct-Access(0) - fdc i82077 Rev:

[1] + Done devb-fdc blk cache=128k

What is Direct-Access(0)? Why does doc say “&” at the end of line and “it hadn’t been initially
started in the background”?

Thank you,
Eduard.