Gigabyte G41m-es2l Drivers For Windows 10

0 views
Skip to first unread message

Suanne Forte

unread,
Aug 4, 2024, 6:48:38 PM8/4/24
to mcafovimdar
Iassume windows can't identify this piece of hardware. This device has a different name with every boot up. My sata cdrom doesn't work and I assumed it failed. I would be happy if this was the cause. Anyhow, just how do I go about getting a diver for this. I have told it to update the driver and allowed it to search on the internet and it can't find a driver. Motherboard is a Gigabyte G41M-Es2L and I'm running Win7 64bit. This is an old home build and at one time, the drivers were all proper.

I downloaded the chipset drivers and it didn't fix the problem. I even tried to update the driver by pointing it to the folder. It's been so long since I built it that I can't remember for sure, but I think all the drives are sata. I thought maybe I would unplug all devices except boot drive and see if the device disappears, then add devices one at a time until it returns. Is my thinking correct that this might determine what it is?


There is a utility called PCI-Z that is good for identifying unknown hardware to obtain drivers. With it one can export information or copy to the clipboard to then use the information to obtain associated hardware driver.


After trying various SD cards and compact flash drives for dos, I setup an 120GB SSD, fat32 formatted and booted straight to dos7.1 on a gigabyte GA-G41M-ES2L motherboard. The SSD is connected straight to the intel sata ports (ich7).


Now I read that hard drives in dos are always limited to PIO mode, without any device drivers loaded, even if motherboard bios supports udma.

Running speedsys in this setup, it benchmakarks at 164MB/s. Running various copying benchmarks on the dos command line, copying a 1GB ghost. gho image to another folder on the ssd, took 10 seconds (101MB/s). This is just a clean boot to dos7.1, no drivers, no himem.sys or smartdrv, nothing.

What is going on here, is the bios using udma (or faster) ?? Do some motherboard just enable this in DOS and others not.


Enabling UDMA in DOS with BIOS only assist has been hit and miss (mostly miss) for me depending on the motherboard. I use drivers from the following website to enable UDMA in DOS. I have had good luck using xhdd.sys & xhdd1.sys from the package. The drivers support a number IDE chipsets.


This is the first board I have ever used that has it enabled just via the bios, with no dos device drivers loaded. Even the custom 'MR BIOS' for various boards I have used don't enable udma in DOS. I don't know what exact mode it is using (obviously faster than any PIO mode), or if there is a way to show the current mode in Dos other than benchmarks. Utilities like NSSI just list all the modes the chipset and hard drive can support.

Using this same SSD in a 440BX chipset, it benchmarkr at 5.2MB/s in dos using speedsys, confirmed by timing the copy of a large 560MB file in dos command line. BIOS is selected to use UDMA but as normal it uses PIO mode 3 in dos.


Most BIOSes since 1998 are perfectly able to perform step 1, and often they print the mode that they programmed into the chipset and the drive. Note that programming the chipset for transfer speed depends on the kind of chipset, so it can not be done by a generic driver that doesn't know the (familiy of) chipset that is installed in your computer, so it is very sensible that this initial setup is done by the BIOS.


The second step is what you need the DOS UDMA driver for. The main challenge with DMA is that you need to know the physical address of the data you want to transfer, which can (and will) differ from the logical address if you use a memory manager like EMM386 and you want to transfer data from/to UMBs or the EMS page frame. There is a common API implemented by most memory managers called "VDS" (virtual-mode DMA specification), but it adds a lot of complexity to the quite simple IDE implementation in the BIOS and adds a dependency from the BIOS to the memory manager. It seems BIOS writers were reluctant to implement this part, expecting that you are going to boot Windows 98 anyway, which contains both a memory manager and bus-master (which is the same as (U)DMA in this context) IDE drivers, that also work inside the Windows 98 DOS box (but not the DOS mode / command prompt only boot variant).


I installed some kind of udma driver in dos once and it did make hard drives faster but it also made some software to stop working. I don't remember all the software that stopped working but at least speedsys didn't start so I couldn't benchmark the hard drive in it.


Exactly. You could try the same thing on the Via VT8235 from the Windows 98SE DOS Box, or after installing a DOS driver like UDMA.SYS or XDMA.SYS, and I guess you will get performance close to the Nvidia Board.


In theory, the VT8235 should be able to get around 15MB/s, because that's what you get in the fastest usual non-DMA (that is PIO) mode. But no one is really optimizing PIO transfers anymore. Maybe (just maybe) you might get a boost by a factor of two if you enable "IDE 32-bit mode" in the BIOS setup of the VIA board (assuming you have the option, and it's not already enabled). because on some chipsets, 32-bit mode is twice as fast as 16-bit mode. The 32-bit/16-bit is just about the amount of data that in transferred from the processor to the IDE chip (or the other way around) in one cycle. You always have 16 bit transfers on the IDE cable itself. The south bridge will take care of splitting the transfer.


There is a common API implemented by most memory managers called "VDS" (virtual-mode DMA specification), but it adds a lot of complexity to the quite simple IDE implementation in the BIOS and adds a dependency from the BIOS to the memory manager. It seems BIOS writers were reluctant to implement this part, expecting that you are going to boot Windows 98 anyway, which contains both a memory manager and bus-master (which is the same as (U)DMA in this context) IDE drivers, that also work inside the Windows 98 DOS box (but not the DOS mode / command prompt only boot variant).


In fact, it is aimed at every device using busmaster DMA (that is, the device itself generates the address it wants to access). This is in contrast to standard ISA DMA where the device just asks the DMA controller for "the next byte / word on channel #x", and the driver sets up the DMA controller to fetch the date from the right address. All DOS memory managers virtualize the ISA DMA controller (i.e. they notice when a program sets up a DMA transfer acessing an UMB) and programs the DMA controler in a way that matches the activity of the memory manger. DOS memory managers are able to this for standard ISA DMA, because they know how to interpret accesses to the standard ISA DMA controller. They can not understand DMA setup for every busmaster card on the market, as every busmaster card might use its own way of setting up busmaster DMA (and some card even fetch pointers for subsequent transfer using DMA, which makes the whole story even more futile).


You are completely right that the first mass-market card that used busmaster DMA on the PC platform is the Adaptec AHA-1542, which is an SCSI controller. I never saw a non-PCI IDE busmaster card. Also I never heard of MFM/RLL/ESDI controllers using busmastering, even if they used DMA (as they use standard ISA DMA). Another well-known, but much less wide-spread ISA busmaster card is the 3c515 "Corkscrew" ISA 10/100 MBit card. The 3c515 drivers also need to care about VDS if they are supposed to work while EMM386 (or QEMM, or 386MAX or JEMM or whatever other virtualizing memory manager) is active.


No, on every other motherboard I have used, changing the UDMA settings in the Bios has made no difference.

In real mode dos without using XHDD.sys driver, the speed of any hard drive has been limited to PIO3 or 4, regardless of bios udma setting or using a udma capable HD or SSD.

This board, GA-G41M-ES2L, gives me 164MB/s in speedsys and over 101MB/S when copying 1.2GB file on the dos command line in real mode with no device drivers loaded.

Another Dos benchmark I tried was Disktest.




I want to install Windows 98 SE in a PC which has a Gigabyte G31M-ES2L motherboard, 1GB RAM, an Atheros AR8131 Gigabit Ethernet network card, an Intel G33/35 Chipset svga card and a Realtek ALC883 soundcard. The processor is Pentium Dual-Core @ 1.80 GHz. I have already installed Windows 98 SE, there is very much speed, but I have a problem with the drivers. I can't find any driver. Any idea? Is there any way to install these drivers? With an .inf file? With Windows 98 DDK? Please help. Thanks in advance.


I hope you didn't buy that board for the expressed purpose of running 98SE on it. The way things are these days you would be lucky if they have Win 2000 drivers for it. If you want to use 98SE because you have an old application you want to run you could try Windows 2000 or XP and Virtual PC 2004 and install 98SE on that.

3a8082e126
Reply all
Reply to author
Forward
0 new messages