ast@botter.UUCP (04/23/87)
The person who wrote the hard disk drivers is going to take a look and see if some of the problems can be fixed. The new driver will be posted when it is done. Nevertheless, those drivers only handle two specific controllers, the DTC for the AT and whatever the XT has. Other controllers will continue to be rejected. What is probably needed is for someone to take one of the two drivers, remove all the guts of it (the part that does the disk I/O), leave the interface to the rest of the system, and write a tiny assembly code routine to call the BIOS to do the disk I/O. The performance will be poor, since it will just wait, but for a lot of people with nonstandard disks, this may be a good way to get bootstrapped. I have already been publicly excoriated for my ignorance of MS-DOS. It is true and, worse yet, I am not even ashamed. I don't know much more about the BIOS. Do we have a volunteer to carry out the above project? It probably isn't much work for someone who knows the BIOS well and has studied either driver for an evening. Andy Tanenbaum
TCarlin@bco-multics.arpa (06/30/87)
I have a NCR AT compatable with 8mhz clock and 20 meg drive. After loading MINIX on to a partition, I got the error message "Winchester wouldn't reset, drive busy" usually followed by file system corruption when doing a small copy. Looking at a bios listing I found that at_wini.c wasn't waiting long enough after a disk error to let the controller reset. I modified the module "drive_busy()" to loop through MAX_WIN_RETRY*1000 (1,000,000) times instead of just MAX_WIN_RETRY times. Worked very well. Haven't got the problem of drive busy again. It did show up the fact I have a few bad spots on my hard disk. When I get a i/o error I just move the file it was writing to a directory on the hard disk called "badblocks" to keep all the bad blocks together. MINIX as well as UNIX seems to want totally error free media as neither has very good if any error correction on hard disk such as marking the bad block. Maybe I will look into adding that to MINIX in the spirit of the thing. I posted this once before but fat fingered info-minix to info-unix and sent it to the wrong list. Terry Carlin Honeywell Bull Inc. 617 895-3209
sas@bcd-dyn.UUCP (432 2370.00) (02/17/88)
I'm still having problems with my western digital wd1002s-wx2 hard disk and tandon tm262 combination. Is anyone running MINIX on hard disk #2? Using drivers /dev/hd5-9? Using standard 1.2 Minix, I can only get the os to recognize the drive as /dev/hd5, it doesn't even access the disk when I try to use partitions 6-9. Using hd5, I can only mkfs about 1/2 of the 20 meg disk. I fixed the AUTO_CONFIG definition, but my controller isn't an autoconfig version, so that doesn't help, although that version does allow fsck to find partitions 6-9 and "check" them. When I try to mkfs on partitions 6-9, it says "error in line 1", cannot access block 1. I'm sure I partitioned it correctly, as I've used DOS FDISK (3.2), Minix 1.2 Fdisk, Speedstor, and others, with identical results. I think the problem is related to the fact that I'm using drive D, but not sure. Any ideas? -- =============================================================================== Scott A. Sharkey UUCP: cbosgd!osu-cis!bcd-dyn!sas Battelle Memorial Institute USPS: 505 King Ave., Columbus, OH 43201 (614) 424-4067 Who? Me? I Just work here!
rmtodd@uokmax.UUCP (Richard Michael Todd) (02/20/88)
In article <998@bcd-dyn.UUCP> sas@bcd-dyn.UUCP (432 2370.00) writes: >I'm still having problems with my western digital wd1002s-wx2 hard disk >and tandon tm262 combination. Is anyone running MINIX on hard disk #2? Yes and no. I've got the second hard disk partitioned into two partitions, 18.5M for DOS and 1.5M for MINIX. Currently I'm not doing anything much with the MINIX partition, but I did do a mkfs on /dev/hd7 and it worked fine. I should note that there is a bug in the wd_wini.c driver code, as I mention below. I'm using a WD controller with two Seagate ST225 drives. >Using drivers /dev/hd5-9? Using standard 1.2 Minix, I can only get the >os to recognize the drive as /dev/hd5, it doesn't even access the disk >when I try to use partitions 6-9. Using hd5, I can only mkfs about 1/2 >of the 20 meg disk. I fixed the AUTO_CONFIG definition, but my controller >isn't an autoconfig version, so that doesn't help, although that version There is a bug in the code to handle AUTO_CONFIG in a two-drive system. The code in wd_wini.c gets the info on the configuration of drive C from the first sector on the drive (the info is in a 16 byte table). One would expect that when the BIOS variable for "# of hard drives" was two, it would proceed to read the first sector of drive D to get its config information. It doesn't. It instead copies the next 16 bytes of the drive C config sector (the ones after the table for drive C) into the structure for drive D. It thus uses garbage values for the drive D parameters and the attempt to read drive D's partition table using these bogus parameters causes a kernel panic. I suspect that the intent of the code's author was to handle WD's "logical drive" scheme, where a single physical drive is partitioned into two logical drives, and apparently the config. info on both logical drives is stored in the first sector of the physical drive. But when you have two physical hard disk drives, the code bombs. I took the easy way out and patched wd_wini.c so that the parameters used for drive D were simply copied from those for C. I can get away with that since my two drives are both ST225s and thus have the same parameters. Obviously this isn't quite the problem you're experiencing, since you don't have an autoconfig controller and your system will at least boot, even though it doesn't correctly access drive D. However it shouldn't be two surprising that if they got the auto_config code wrong, the code for the non-auto-config case might be broken as well. One thing you might do is install debugging code in wd_wini.c to see just exactly what the driver thinks the drive parameters and partition tables are for both drives. There's an array of structures indexed by hard drive number for drive parameters and an array of structures indexed by partition number for the partition info. Sorry I don't remember what the names are, but they're fairly easy to find. As I said, I haven't used drive D extensively under MINIX, but I did check to see that "od -c /dev/hd5", "od -c /dev/hd6", etc., did read the right portions of the hard disk, and I did successfully mkfs on /dev/hd7. -------------------------------------------------------------------------- Richard Todd USSnail:820 Annie Court,Norman OK 73069 UUCP: {allegra!cbosgd|ihnp4}!occrsh!uokmax!rmtodd