jmp@mult.UUCP (Jean.Marc Pigeon) (11/11/87)
Bonjour a tous ("hello netland" :-})
As my system was "sick", I lost all answers I get
about my first request on AT driver trouble. Thanks
to those who answer.
In the midtime I work on the driver problems and I
spot 3 bugs.
first problem:
- After a short while (in writing acces), the hard disk
hang, and just a reboot could recover it.
- I found that in "w_transfer" , the test
to see if the controler is ready to accept data, used
a local variable with no initiale value (so sometime...).
The correct line (229) is
for (i=0,r=0;i<MAX_WIN_RETRY && (r&8)==0;i++)
port_in(WIN_REG8,&r);
At this point the driver was able to reset in case of
error:
Second problem:
- Each time I try to acces sector 11 on head 4 (whatever the
cylinder number), the controler report "ERROR".
- In "w_init" the command[6] parameter is set to a wrong value
(alway 1).
The correct line (297 / 313 ) is:
command[6] = wini[0].wn_heads | 0xa0;
(same correction for disk 1)
At this point I was able to acces all the partition without
bad spots.
Third problem:
- If the "h" command is not use before "=" then the hard-disk
stay 'invisible'.
- "init_params" is not reseting the controler prior to
set the parameters.
the correct line (443) is:
if ((nr_drives >0 ) && (w_reset() != OK ) nr_drives = 0;
At this point: It seems working perfectly, except the hard-disk
fsck report error on the file structure, I wonder why?
So that's all for now. I hope that will be helpfull to somebody.
JMP
NB: All the line number I gave; stand for at_wini 1.1, I don't know if
the problems are the same in the XT driver.
PS: If somebody could tell me where I can find the 1.2 diff, I'll
be glad.