Sponsored Content
Operating Systems Linux read sectors from disk failed with timeout Post 302552594 by wljackhero on Sunday 4th of September 2011 11:29:31 PM
Old 09-05-2011
read sectors from disk failed with timeout

i'm writing some code to simulate the boot progress after power on
but when i try to read the 2nd sector from a floppy disk, this operation always fail with ah=0x80h which means timeout, how can i get over this problem?
my code would be like this:

Code:
[jack@localhost 1]$ cat boot.S
.code16
#define SETUPLEN  4
#define BOOTSEG  0x7C0
#define INITSEG  0x900

.text
a:
mov $BOOTSEG, %ax
mov %ax, %ds
mov $INITSEG, %ax
mov %ax, %es
mov $256, %cx
sub %si, %si
sub %di, %di
rep
movsw

jmp 0x9000+go-a

go:
mov %cs, %ax
mov %ax, %ds
mov %ax, %es
mov %ax, %ss
mov $0xFF00, %sp

load_setup:
mov $0x0000, %dx
mov $0x0002, %cx
mov $0x0200, %bx
mov $0x0200+SETUPLEN, %ax
int $0x13                           //timeout happens here
jnc ok_load_setup
mov $0x0000,%dx
mov $0x0000,%ax
int $0x13
jmp load_setup

ok_load_setup:
mov $0x00, %dl
mov $0x0800, %ax
int $0x13
mov $0x00, %ch
mov %cx, %cs 
mov $INITSEG, %ax
mov %ax, %es

mov $0x03, %ah
xor %bh, %bh
int $0x10

mov $24, %cx
mov $0x0007, %bx
mov msg, %bp
mov $0x1301, %ax
int $0x10

msg:
.byte 13, 10


.org 510
.word 0xaa55

looking forward to replies.
really appreciate any suggestion.

Moderator's Comments:
Mod Comment Double post, continued here

Last edited by pludi; 09-05-2011 at 03:24 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

ksh read timeout

any idea on how to timeout the read statement for ksh? for bash u can use read -t option -t timeout Cause read to time out and return failure if a complete line of input is not read within timeout seconds. This option has ... (2 Replies)
Discussion started by: ashterix
2 Replies

2. Filesystems, Disks and Memory

SCSI disk spare sectors

Is there a way to determine the number of available spare sectors on a disk ? as it may be useful for notifying a user to take a backup of the disk before it runs into a medium error. (6 Replies)
Discussion started by: rednex
6 Replies

3. Shell Programming and Scripting

read from std i/p with timeout within a script

hello every one , this is my first participation in the forum , I hope it'll be a good start within a script I would like to put some code to read i\p from standard i\p using read command if it reads Y it will terminate the script if it reads N it will continue execution , if no i\p is... (2 Replies)
Discussion started by: Blue_shadow
2 Replies

4. Filesystems, Disks and Memory

Smartmontools and fixing Unreadable Disk Sectors

I found a document: Bad block HOWTO for smartmontools My hard drive is Maxtor: root]# fdisk -lu /dev/hda Disk /dev/hda: 81.9 GB, 81964302336 bytes 255 heads, 63 sectors/track, 9964 cylinders, total 160086528 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x3f4e3f4d ... (0 Replies)
Discussion started by: justinian
0 Replies

5. Linux

C++ Code to Access Linux Hard Disk Sectors (with a LoopBack Virtual Hard Disk)

Hi all, I'm kind of new to programming in Linux & c/c++. I'm currently writing a FileManager using Ubuntu Linux(10.10) for Learning Purposes. I've got started on this project by creating a loopback device to be used as my virtual hard disk. After creating the loop back hard disk and mounting it... (23 Replies)
Discussion started by: shen747
23 Replies

6. Boot Loaders

read sectors from disk failed with timeout

i'm writing some code to simulate the boot progress after power on but when i try to read the 2nd sector from a floppy disk, this operation always fail with ah=0x80h which means timeout, how can i get over this problem? my code would be like this: $ cat boot.S .code16 #define SETUPLEN 4... (0 Replies)
Discussion started by: wljackhero
0 Replies

7. UNIX for Advanced & Expert Users

read sectors from disk failed with timeout

i'm writing some code to simulate the boot progress after power on but when i try to read the 2nd sector from a floppy disk, this operation always fail with ah=0x80h which means timeout, how can i get over this problem? my code would be like this: $ cat boot.S .code16 #define SETUPLEN 4... (0 Replies)
Discussion started by: wljackhero
0 Replies

8. Shell Programming and Scripting

Use of prtdiag to give information of sectors,cylinders,track of each disk

Hi All, i am trying to get sectors,cylinders,track..etc information of all present disks out of solaris machine using prtvtoc command . Output of ptrvtoc command is as below : bash-3.2# prtvtoc /dev/dsk/c1t0d0s0 * /dev/dsk/c1t0d0s0 partition map * * Dimensions: * 512 bytes/sector... (2 Replies)
Discussion started by: omkar.jadhav
2 Replies

9. Shell Programming and Scripting

Read timeout

I saw several thread for this issue but none addresses my issue. I have tried read -t but the result is read bad options My requirement is 1. Ask for input 2. If input = y or no input in 60 seconds then continue processing else exit fi Kindly consider this urgent. (8 Replies)
Discussion started by: rprasad
8 Replies

10. Solaris

EFI disk labeling / understand the parition table / sectors not continue

Hi all, I have a EFI disk and it is use in zfs pool. partition> p Volume: rpool Current partition table (original): Total disk sectors available: 1172107117 + 16384 (reserved sectors) Part Tag Flag First Sector Size Last Sector 0 usr wm ... (8 Replies)
Discussion started by: javanoob
8 Replies
BAD144(8)						      System Manager's Manual							 BAD144(8)

NAME
bad144 - read/write DEC standard 144 bad sector information SYNOPSIS
bad144 disktype disk [ sno [ bad ... ] ] DESCRIPTION
Bad144 can be used to inspect the information stored on a disk that is used by the disk drivers to implement bad sector forwarding. The format of the information is specified by DEC standard 144, as follows. The bad sector information is located in the first 5 even numbered sectors of the last track of the disk pack. There are five identical copies of the information, described by the dkbad structure. Only the first of these copies is used. Replacement sectors are allocated starting with the first sector before the bad sector information and working backwards towards the begin- ning of the disk. A maximum of 126 bad sectors can be supported. The position of the bad sector in the bad sector table determines which replacement sector it corresponds to. The bad sector information and replacement sectors are conventionally only accessible through the ``h'' file system partition of the disk. If that partition is used for a file system, the user is responsible for making sure that it does not overlap the bad sector information or any replacement sectors. The bad sector structure is as follows: struct dkbad { long bt_csn; /* cartridge serial number */ u_short bt_mbz; /* unused; should be 0 */ u_short bt_flag; /* -1 => alignment cartridge */ struct bt_bad { u_short bt_cyl; /* cylinder number of bad sector */ u_short bt_trksec; /* track and sector number */ } bt_bad[MAXBAD]; }; Unused slots in the bt_bad array are filled with all bits set, a putatively illegal value. MAXBAD (in <sys/dkbad.h>) may be tuned locally to reduce the space required to hold the bad-sector file in memory. It may not be greater than 126, which uses the whole disk sector. Bad sectors past MAXBAD may be included by the formatter, but replacement sectors will not be used until MAXBAD is increased. Bad144 is invoked by giving a device type (e.g. rk07, rm03, rm05, etc.), and a device name (e.g. hk0, hp1, etc.). It reads the first sec- tor of the last track of the corresponding disk and prints out the bad sector information. It may also be invoked giving a serial number for the pack and a list of bad sectors, and will then write the supplied information onto the same location. Note, however, that bad144 does not arrange for the specified sectors to be marked bad in this case. This option should only be used to restore known bad sector information which was destroyed. New bad sectors can be added by running the standard DEC formatter in section ``bad.'' SEE ALSO
badsect(8) BUGS
Not all drivers support bad-sector forwarding on the PDP-11. It should be possible to both format disks on-line under UNIX and to change the bad sector information, marking new bad sectors, without running a standalone program. The bootstrap drivers used to boot the system do not understand bad sectors or handle ECC errors. This means that none of these errors can occur when reading the file /unix to boot. Sector 0 of the disk drive and the file /boot in the root file system of that drive must also not have any of these errors in it. The drivers that write a system core image on disk after a crash do not handle errors; thus the crash dump area must be free of errors and bad sectors. 3rd Berkeley Distribution BAD144(8)
All times are GMT -4. The time now is 09:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy