Sponsored Content
Top Forums Programming write() issue during a low level hdd access Post 302397639 by sponnusa on Monday 22nd of February 2010 09:36:25 PM
Old 02-22-2010
thanks. Will try the linux kernel mailing lists.

Regarding the device interfacing, my requirement deals with a set of data transfers, either be in DMA or PIO mode (for older hdds), in the current program (The one which I've written in assembly in DOS), I move the data to a location, fill up necessary details in the ATA Command Packet, send the command to the HDD ( In DMA Mode), the dma controller and HDD will do the rest.

You are right about the ATAPI timeouts and about the way the calls return to the program. I will be waiting at status registers of the drive to check if the call has passed / failed and proceed further. It sometimes can take more time, in order of milliseconds based on the amount of data I am pointing too at the DMA / PIO buffer in the ATA command packet. And I will not be waiting for the timeout there. (The timeout actually would be the HDD's internal read / write call based) and the result is sent as a signal in one of the status registers as a return value for my actual data transfer call.

I referred to that in my query as the read / write timeout. (I guess I am being a little void in stating my requirements and missing out a lot of key requirements / explanations! Smilie).

It was a good start for me to get into discussion on this board with you and others as to refresh lots of things. It really helps to discuss with a geek (i hope i can address you as one!? Smilie) to get things right and straight at times. (well most of the times!). It was a huge relief after burning mid night oil for weeks at various issues (the current issue was/is still one of the major ones). I think I'll soon be active on this board whenever I can (once I complete my current task and get back home!), helping people.

Switching to the latest kernel has any value addition? Say, any version in 2.6.3?? There were some changes related to RAW or O_DIRECT (I could not remember the exactly) with the newer version.
 

7 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Low level format?

I want to do a low level format like in windows (C:\format c:) but I don't know how it works in unix or linux.. Can somebody help me ? thnx :) (3 Replies)
Discussion started by: day
3 Replies

2. HP-UX

Access to a second HDD

Hello How to access to a second hard disk on a HP-UX system? Thanks (3 Replies)
Discussion started by: ouniss
3 Replies

3. IP Networking

Best reference for understanding low level info on nic cards drivers and functionality

Hi, What is the best reference that gives in detail on nic cards configuration , assigning multiple ip addresses to a single interface, netlink library etc and all basic stuff at this level..? Thanks (2 Replies)
Discussion started by: Gopi Krishna P
2 Replies

4. AIX

High Runqueue (R) LOW CPU LOW I/O Low Network Low memory usage

Hello All I have a system running AIX 61 shared uncapped partition (with 11 physical processors, 24 Virtual 72GB of Memory) . The output from NMON, vmstat show a high run queue (60+) for continous periods of time intervals, but NO paging, relatively low I/o (6000) , CPU % is 40, Low network.... (9 Replies)
Discussion started by: IL-Malti
9 Replies

5. Programming

System calls and C language low-level qualities???

Hi friends, I hope everyone is fine and doing well. I queried in my previous thread about the low-level qualities of C/C++ languages.I really thank you people for explaining, it was really helpful. One more ambiquity that I have in my mind is regarding the unix system calls like open, creat,... (1 Reply)
Discussion started by: gabam
1 Replies

6. Programming

Why is C/C++ considered low-level languages???

Hi friends, I hope everyone is doing well and fine. I have always been hearing that C/C++ are relatively low-level as compared to Java/C# etc. Could you please tell me some low-level qualities of C/C++? And I think disk deframenters are written in C/C++, please correct me if I am wrong. And please... (5 Replies)
Discussion started by: gabam
5 Replies

7. Programming

Low level X11 programming

How to use X11 without Xlib not XCB? How draw window directly on low level? I must use anyway window manager like Motif? I have ridden that X11 has server-client architecture, client send via TCP/IP to port 6000 request for primitives and get replies. Where is detailed description of it? In X11... (0 Replies)
Discussion started by: AndrzejB
0 Replies
uata(7D)																  uata(7D)

NAME
uata - IDE Host Bus Adapter Driver SYNOPSIS
ide@unit-address The uata host bus adapter driver is a nexus driver that supports the ide interface on SPARC platforms. The driver attempts to set the disk and ATAPI CD-ROM drive to maximum supported speed. The uata driver supports ultra DMA mode-4 (ATA66). Currently, the uata driver supports the CMD646U, Sil680a and Acer Southbridge M5229 IDE controllers. The uata driver supports two channels concurrently with two devices connected per channel. The devices are logically numbered from 0 to 3: 0 Master disk on primary channel. 1 Slave disk on primary channel. 2 Master disk on secondary channel. 3 Slave disk on secondary channel. For ATAPI devices, an ATAPI DRIVE RESET command is issued to facilitate recovery from timeouts and errors. The BSY bit of the drive's sta- tus register is polled to check for the drive reset completion. If the drive reset fails, a warning message is displayed and the recovery process continues. This logic is subject to change. To control the maximum time spent waiting for the ATAPI drive reset to complete, the atapi-device-reset-waittime tunable property is avail- able through the /kernel/drv/uata.conf file. The default and maximum/minimum values are shown below. Please see /kernel/drv/uata.conf for more info. Default value: 3000000 Minimum value: 20 Maximum value: 3000000 The atapi-device-reset-waittime property units are in microseconds. /kernel/drv/uata 32-bit ELF kernel module. /kernel/drv/uata.conf Driver configuration file. prtconf(1M), driver.conf(4), attributes(5) X3T10 ATA-4 specifications In addition to being logged, the following messages may appear on the system console: ddi_get_iblock_cookie failed. The driver could not obtain the interrupt cookie. The attach may fail. Drive not ready before set_features. Indicates a fatal problem. The drives are not ready to be programmed and features cannot be set. (During the driver initialization process, the driver must set the features for the drive, including dma and pio). Error set after issuing Set Feature command. Indicates a fatal problem. The driver's error bit was set after the set feature command was issued. (During the driver initialization process, the driver must set the features for the drive, including dma and pio). Interrupt not seen after set_features. Indicates a fatal problem with the drive. Features cannot be set. ata_controller - set features failed. Indicates a fatal problem with the drive. Features cannot be set. ? target <number> lun 0. Displayed at boot up time to indicate that the target <number> was identified, where <number> is a decimal value. resid Residual number of bytes in data transfer and the I/O operation could not be finished completely. ghd_timer_newstate: HBA reset failed. Generally indicates a fatal condition. I/O operation cannot be completed following reset of the channel. timeout: <message> chno =<number> target=<number>. A timeout occured because of <message> on device (target=<number>) on channel (chno =<number). Where <message> could be either early abort, early timeout, abort request, abort device, reset target or reset bus. ata_controller - Drive not ready before command <number>. The drive did not respond before issuing the command <number> to the controller; command <number> will not be issued to the drive. (<number> is the hexadecimal opcode for the sleep or standby commands, which are issued when the drive transitions between power man- agement states). ATAPI drive reset failed for target: <number>;Continuing the recovery process. If this message is displayed after you modify /kernel/drv/uata.conf, try to increase the atapi-device-reset-waittime property value within the maximum value allowed, otherwise contact Sun support. ata_controller - Command <number> failed. Command <number> failed on the drive. (<number> is the hexadecimal opcode for the sleep or standby commands, which are issued when the drive transitions between power management states). ata_controller - Command <number> returned error. The command returned an error. (<number> is the hexadecimal opcode for the sleep or standby commands, which are issued when the drive transitions between power management states). ata_controller - Cannot take drive <number> to sleep. The disk will not transition to sleep state. (Indicates that the driver could not set the device to sleep mode while performing power management functions). ata_controller - Cannot reset secondary/primary channel. The disk will not transition from sleep to active state. ata_controller - Unsupported Controller Vendor 0x13d0, Device 0x43f1, Revision 0x034. An unsupported ata controller was found on the system and prints <ID>, device id and revision of the controller, where <ID> represents the hexidecimal vendor ID. Changing the mode of targ: <number> to Ultra DMA mode: <number>. For the timedout command, the driver attempts to recover by changing speed to lower values and retrying the command. This message indi- cates to which mode the driver is attempting to re-program the drive, where <number> is a decimal value. Changing the mode of targ: <number> to Multi DMA mode: <number>. For the timedout command, the driver attempts to recover by changing speed to lower values and retrying the command. This message indi- cates to which mode the driver is attempting to re-program the drive, where <number> is a decimal value. These messages are informational and indicate that a timeout occured for a I/O request. The uata driver recovers from these states auto- matically unless there is a fatal error. 20 April 2005 uata(7D)
All times are GMT -4. The time now is 06:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy