Jump to content

Samsung DVD Drive


Rivia

Recommended Posts

Hi to all W98 users ! :hello:

I discovered this forum while looking for a solution to activate the DMA for a Samsung DVD drive in Windows 98.

My computer is based on a ABIT BE-6 motherboard (2 UltraDMA/33 and 2 UltraDMA/66 IDE bus), a Pentium III (500 MHz) processor and 192 Mb of SDRAM.

I already have two HDDs and a Sony CD-ROM burner on that machine. They all work perfectly fine in DMA mode. For example, I can burn CD-R at 16x speed on the Sony drive without problems.

Recently, I decided to add a DVD burner on this configuration and I bought a Samsung SH-S222A. The label on the box claims it supports PIO 4, UDMA 2 and UDMA 4 modes. I thought it would be perfect... but I immediately noticed something was wrong : the burning speed of a simple CD-R was ridiculously low and the activity of the processor reached always 100% ! I knew that such an issue could be induced by the lack of DMA mode and I tried to activate it in the device manager.

However, despite all my attempts, I couldn't manage to activate the DMA mode in the Device Manager. I found a lot of advices and tricks on Microsoft support site, on MDGx.com and at last (but not least !) on this forum, but none of them worked for me. :wacko:

I checked that the test described on this Microsoft page returns 00, which confirms that the drive effectively supports DMA mode.

At first, I connected it in slave mode on the same IDE connector (UltraDMA/33) than my CD burner : no DMA.

Then, I tried to let it alone in master mode on the same connector : no DMA.

After that, I put it on the UltraDMA/66 bus (with or without a HDD on the same connector) : no DMA (there is no DMA box to check in this configuration, but the transfert rate remained very low).

I also tried to edit the MSHDC.INF + DISKDRV.INF files for the IDE drivers, following the procedure given on the MDGx site, but without success.

So, as I don't have any more ideas of what could be the remedy for my problem, I thought that one of the W98 specialists of the forum could have an suggestion ?

Thanks in advance.

Link to comment
Share on other sites


These ideas come to mind ...

Cables ... are you using the finer 80 wire PATA cable versus the coarser 40 wire? Is the cable in mint condition? It is possible that a marginal cable may work ok for the older CDR but not the newer DVD. Is that CDR set for CS Cable Select? That would require the DVD to also respect CS (not all opticals do). And, if so, the cable must also be a CS version with a flipped wire (I try to avoid CS these days!).

Position ... did you remember to reverse location of the drive when swapping Master/Slave? Master is the end of the PATA cable and Slave is the middle position.

Jumper ... did you remember to change the jumper positions when you changed the Master/Slave relationship? Note that this MUST be checked. If using CS as mentioned above, both drives will need that jumper, if not one drive has Master and the other Slave jumpered. Also, (apologize if dumb question) but does the DVD have a DMA jumper? I have seen some CDR's with them, maybe this DVD burner has one as well.

Firmware ... look for a flash for this drive. Sometimes they forget to enable DMA in the initial release.

NOTE: the MSHDC.INF and DISKDRV.INF edits must be done before the drive is installed and detected. Else, you will simply have to punch in the registry values yourself. Can you open REGEDIT and export the DVD burner registry branch which has several subkeys (I believe I count three now from your post). It will look like this:

[HKEY_LOCAL_MACHINE\Enum\Scsi\Samsung_DVD_xxx]

Export that entire key (the 'Samsung' branch NOT the SCSI branch above it!) and post it here in a CODEBOX. Note that the xxx will be some variation of the drive model number. It is a little unclear in your post the primary/secondary positions but that registry key will probably have three subkeys now with data in these subkey names that corresponds with three of four of these:

Child0000 Func_0100 (Primary Master) ??? unlikely!

Child0000 Func_0110 (Primary Slave)

Child0001 Func_0100 (Secondary Master)

Child0001 Func_0110 (Secondary Slave)

After we see those it will be simple to whip up the necessary registry hack to add DMA ("DmaCurrentlyUsed"=hex:01).

P.S. another thing to consider is that this burner may push this marginally powered system over the line into flaky performance, the Power Supply is likely underpowered and the disc writing operation could overload the 12v rail. I would definitely consider dumping the CDR and using the DVD by itself as Secondary Master (if we get it working that is).

Link to comment
Share on other sites

These ideas come to mind ...

Thank you for taking time to answer my questions... :)

Cables ... are you using the finer 80 wire PATA cable versus the coarser 40 wire? Is the cable in mint condition? It is possible that a marginal cable may work ok for the older CDR but not the newer DVD. Is that CDR set for CS Cable Select? That would require the DVD to also respect CS (not all opticals do). And, if so, the cable must also be a CS version with a flipped wire (I try to avoid CS these days!).

I have 40 wire cables on my UltraDMA/33 connectors (working fine with the CD burner and my old HDD) and, of course, a 80 wire on the UltraDMA/66 where my second HDD is connected. The DMA for the Samsung burner didn't seemed to activate either on the DMA/66 with the 80 wire cable (no DMA checkbox is accessible in the Device Manager with this configuration, but the writing speed was not enhanced).

I don't use the CS selection, only Master or Slave.

Position ... did you remember to reverse location of the drive when swapping Master/Slave? Master is the end of the PATA cable and Slave is the middle position.

Yes, I did.

Jumper ... did you remember to change the jumper positions when you changed the Master/Slave relationship? Note that this MUST be checked. If using CS as mentioned above, both drives will need that jumper, if not one drive has Master and the other Slave jumpered. Also, (apologize if dumb question) but does the DVD have a DMA jumper? I have seen some CDR's with them, maybe this DVD burner has one as well.

Yes, I changed the jumpers accordingly each time I modified my connections.

I didn't see a DMA jumper on that drive : only the classical CS, SL and MA. The installation guide doesn't refer either to this kind of jumper.

Firmware ... look for a flash for this drive. Sometimes they forget to enable DMA in the initial release.

I didn't mention that point in my initial message, but I have contacted the Samsung support hoping they could help me. They answered quite rapidly, I must say, and sent me the last firmware version. I could check that this version was already installed on the burner when I bought it (version SB01).

However, I begin to think that it is most likely the cause of my problem.

NOTE: the MSHDC.INF and DISKDRV.INF edits must be done before the drive is installed and detected. Else, you will simply have to punch in the registry values yourself.

Do you mean I should physically unplug the Samsung drive before applying the patch ? That's an idea...

When I made this test, I only removed the devices under my secondary IDE controller (the CD and DVD burners) in the Device Manager before I reboot the computer.

However, the two new values "IDEDMADRIVE0"=hex:01 and "IDEDMADRIVE1"=hex:01 were effectively added in the registry in the branch "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\hdc005" (associated to the secondary IDE controller).

Can you open REGEDIT and export the DVD burner registry branch which has several subkeys

Here it is (hope that's what you expect... ) :

[HKEY_LOCAL_MACHINE\Enum\SCSI\TSSTCORPCDDVDW_SH-S222A_S\MF&CHILD0001&PCI&VEN_8086&DEV_7111&SUBSYS_00000000&REV_01&BUS_00&DEV_07&FUNC_0110]
"Capabilities"=hex:14,00,00,00
"AutoInsertNotification"=hex:00
"SCSITargetID"="1"
"SCSILUN"="0"
"RevisionLevel"="SB01"
"ProductId"="CDDVDW SH-S222A "
"Manufacturer"="TSSTcorp"
"DeviceType"=hex:05
"Removable"=hex:01
"CurrentDriveLetterAssignment"="G"
"DMACurrentlyUsed"=hex:00
"HardwareID"="TSSTCORPCDDVDW_SH-S222A_S,GenCD,SCSI\\TSSTCORPCDDVDW_SH-S222A_S"
"Class"="CDROM"
"ClassGUID"="{4d36e965-e325-11ce-bfc1-08002be10318}"
"Driver"="CDROM\001"
"Mfg"="(Périphérique CD-ROM standard)"
"DeviceDesc"="TSSTcorp CDDVDW SH-S222A "
"ConfigFlags"=hex:00,00,00,00
"Disconnect"=hex:01
"SyncDataXfer"=hex:00

I noticed that the branch related to my CD burner has the following supplementary value : "IDEMaster"=hex:01. Don't know if that's of any meaning ?

After we see those it will be simple to whip up the necessary registry hack to add DMA ("DmaCurrentlyUsed"=hex:01).

I tried to manually edit this value with Regedit to force a "01" instead of "00". The result was negative. :crazy:

Link to comment
Share on other sites

Interesting topic you got here. Few months ago I bought the same burner make/model. Haven't yet tested it for a burning operation, just for reading. I'll reassemble the respective machine, have a look at the DMA settings and report back.

In the mean time, I'd like to ask a question, since this already happened to me and other people: which IDE controller (or chipset) does your mobo employ? Some Intel controllers (can't remember chipset code now) have issues with the DMA when the Intel drivers are used so it's best to leave the generic Windows drivers in place; this may well be your problem.

Oh and another thing that just occured to me: please have a look at the BIOS settings and make sure DMA is enabled for the respective IDE channel - some BIOS versions need manual settings or may just not be set to AUTO. Worth checking. ;)

Later edit:

OK, I've checked the DMA settings on that machine and it says UDMA2 for the secondary IDE channel where the DVD burner resides (primary channel runs on UDMA5 for the HDD). However, that's XP-SP3 and a VIA chipset/controller ( 82C686B/VT8235A). So I guess you gotta fiddle around with BIOS/drivers and in desperation even try to replace the IDE cable since it can be defective forcing PIO mode. Oh but before that, please make sure the blue socket of the cable goes into the mobo socket, else it may not be recognized as an ATA66/100 cable. If for some reason the cable doesn't have a blue socket, just reverse the ends and see if this changes anything for the best.

Edited by Drugwash
Link to comment
Share on other sites

Rivia, just to be clear can you describe the 2 ATA channels (all four positions and cables). Typically like this:

Channel 1 Master: xxx

Channel 1 Slave: xxx

Channel 2 Master: xxx

Channel 2 Slave: xxx

I am now thinking you have an add-in card, maybe like this(?):

Onboard IDE Master: xxx

Onboard IDE Slave: xxx

PCI IDE Card Master: xxx

PCI IDE Card Slave: xxx

Please point out the current location of the DVD and all drives (fill in those xxx).

That registry excerpt you provided only shows your DVD on the SECONDARY SLAVE (note the Child0001 Func_0110). Is that where it is right now? By my count of your testing their should be at least three entries here. I expected these:

[color="#FF0000"][HKEY_LOCAL_MACHINE\Enum\SCSI\TSSTCORPCDDVDW_SH-S222A_S][/color]
[HKEY_LOCAL_MACHINE\Enum\SCSI\TSSTCORPCDDVDW_SH-S222A_S\MF&CHILD0000&PCI&VEN_8086&DEV_7111&SUBSYS_00000000&REV_01&BUS_00&DEV_07&FUNC_0110]
.. stuff...
[HKEY_LOCAL_MACHINE\Enum\SCSI\TSSTCORPCDDVDW_SH-S222A_S\MF&CHILD0001&PCI&VEN_8086&DEV_7111&SUBSYS_00000000&REV_01&BUS_00&DEV_07&FUNC_0100]
.. stuff...
[HKEY_LOCAL_MACHINE\Enum\SCSI\TSSTCORPCDDVDW_SH-S222A_S\MF&CHILD0001&PCI&VEN_8086&DEV_7111&SUBSYS_00000000&REV_01&BUS_00&DEV_07&FUNC_0110]
.. stuff...

Please export that root key above (in red) and post it here. Other stuff ...

Can you locate another 80-wire? Definitely put it in there. Anywhere you are using a 40-wire IDE ribbon cable it is ok to replace it with the newer 80-wire (they are nicer anyway). As Drugwash pointed out, the blue-end to the mobo.

If that is an add-in card I presume it has its own BIOS (the few I have dealt with anyway) which means you would have to access it and make sure UDMA or Auto is enabled, not PIO. Ditto this for the onboard IDE in the main BIOS.

You asked: "Do you mean I should physically unplug the Samsung drive before applying the patch ?", the answer is no. The INF files get edited, then you physically install the drive(s) and they get detected. To utilize those edits on already-installed drives you would have to re-detect them (most easily done in Device Manager by deleting the specific drives and then rebooting (...found new hardware...). If you decide to do this, please do it before you export and post that registry key!

FYI: the "IDEDMADRIVE0" and "IDEDMADRIVE1" is the magic that the INF file edits insert into that Class\Hdc00x registry branch. What people confuse is that is not a runtime value that is referenced at bootstrap, it is used during detection of new hardware and is then used to insert values into the Enum\SCSI subkeys.

The "DMACurrentlyUsed"=hex:01 should appear in each entry for the DVD under said key. Since you found this: "DMACurrentlyUsed"=hex:00, you have now entered the infamous DMA not sticking topic! It should yield about a million Googles. ;) [ok, actually 20,000 for S222A DMA not sticking] The good news is that Drugwash has the same burner working on XP so that means it is likely just a matter of massaging Win9x a bit (unless the cable/firmware/BIOS is to blame).

Also, please clarify one other thing, did you mean that you have not yet flashed the firmware? Definitely flash it now (if it goes FUBAR you can still make them replace this new drive). It may be the cure anyway.

Link to comment
Share on other sites

Heh, I was spot on with the chipset/controller: it indeed is an Intel 82371 (as the registry keys show)! And I bet you installed the IntelInf chipset utility enabling the IDE BusMaster driver that screws up the DMA. ;)

If I were you, I'd uninstall the Intel driver (if possible) and remove the Intel Bus Master PCI IDE Controller in Control Panel > System > Hard disk controllers (immediately followed by a Refresh!) and/or try to replace the driver with the Windows generic one.

Alternatively (second opinion needed on all this), try the Intel Application Accelerator which should allow access to setting the DMA mode for all IDE channels.

Somebody is trying hard to disallow my access to this board; I could only access it through a random proxy, while direct access at the same time would yield a Google 404 page!!!

Link to comment
Share on other sites

Well, you gave me a lot of work to do to test all that things... :D

Did you enable "reserve dma buffers" in device manager - system devices - somedevice / properties?

I didn't see this option before. After I read your message, I looked for it in the Devicer Manager and activate it. I innocently :whistle: entered a value of 2048 KB, checked besides the DMA option for the Samsung burner and reboot.

After the restart, I could observe that Windows had shrinked the DMA buffer size to 64 KB (!) and that the DMA option was again disabled.

Of course, there was no change in the burning speed (never more than 12x average for a simulation of CD burning).

Rivia, just to be clear can you describe the 2 ATA channels (all four positions and cables).

For the Ultra ATA/33 IDE interface, 40 wire cables (at Drugwash attention, the chipset of the BE-6 is a Intel 440BX) :

Channel 1 Master: 9GB IBM Hard Disk

Channel 1 Slave: Nothing

Channel 2 Master: Sony CD burner

Channel 2 Slave: Samsung DVD burner (for the moment...)

For the Ultra ATA/66 IDE interface, 80 wire cable (the controler seems to be a HighPoint HPT366 chip ?) :

Channel 1 Master: 80GB Hard Disk (normally detected as UDMA 4 by the BIOS)

Channel 1 Slave: Nothing

Channel 2 Master: Nothing

Channel 2 Slave: Nothing

During my tests, I tried the following alternative combinations for the Samsung drive :

1) on the ATA/33 interface (with the 40 wire connector) :

1a)

Channel 2 Master: Samsung DVD burner

Channel 2 Slave: Nothing

1b)

Channel 2 Master: Nothing

Channel 2 Slave: Samsung DVD burner

2) on the ATA/66 interface (with the 80 wire connector, color code respected , otherwise my HDD would'nt even had worked, I think ?)

2a)

Channel 1 Master: 80GB Hard Disk (detected ans displayed as UDMA 4 by the BIOS during the boot)

Channel 1 Slave: Samsung DVD burner

2b)

Channel 1 Master: Samsung DVD burner

Channel 1 Slave: Nothing

I forgot to say that when I connected the Samsung burner on the ATA/66 bus, the BIOS did NOT detected it as UDMA ! And when I tried to enter the configuration of the Ultra ATA/66 with the Samsung connected on it, the BIOS hanged. :blink: (I have installed years ago the last available version of the BIOS for my motherboard... :unsure: )

Also, please clarify one other thing, did you mean that you have not yet flashed the firmware? Definitely flash it now (if it goes FUBAR you can still make them replace this new drive). It may be the cure anyway.

No, I didn't flash the firmware of the burner, because it already has the last available version (SB01). Furthermore, I have some doubts about the W98 compatibility of the Samsung flashing utility... :unsure:

But you're right, I could try, just in case.

That registry excerpt you provided only shows your DVD on the SECONDARY SLAVE (note the Child0001 Func_0110). Is that where it is right now? By my count of your testing their should be at least three entries here.

Sorry, i somewhat suspected I didn't fully understand your request. :blushing:

This is indeed the present configuration. I don't have time at the moment to modify the connections and export the registry branches. I'll try to do that as soon as possible if that can give you some additional clues.

I thank you all for your help. :hello:

Link to comment
Share on other sites

Heh, I was spot on with the chipset/controller: it indeed is an Intel 82371 (as the registry keys show)! And I bet you installed the IntelInf chipset utility enabling the IDE BusMaster driver that screws up the DMA. ;)

Indeed, I found this utility during all the searches I made and installed it.

Must I say ? But I thought I noticed a slight increase of the burning speed after that installation. Perhaps only my imagination, in fact ? :lol:

If I were you, I'd uninstall the Intel driver (if possible) and remove the Intel Bus Master PCI IDE Controller in Control Panel > System > Hard disk controllers (immediately followed by a Refresh!) and/or try to replace the driver with the Windows generic one.

The Device Manager tells me that the current driver for this controller is "C:\WINDOWS\SYSTEM\VMM32.VXD (CONFIGMG.VXD)". Isn't it the Windows' one ?

Alternatively (second opinion needed on all this), try the Intel Application Accelerator which should allow access to setting the DMA mode for all IDE channels.

I don't know this one yet... I'm going to look for it.

By the way, I have tried TweakBIOS to force the activation of the DMA on the IDE channels : the result was a complete hang of the machine... :thumbup:wacko:

Link to comment
Share on other sites

According to the list here (for which I've built a handly utility that's still in the alpha phase), the IDE controller is:

"0x8086","0x7111","Intel Corporation","82371AB/EB/MB","PIIX4/4E/4M IDE Controller"
.

VMM32.VXD includes many device drivers as it's built at Windows installation time. There are utilities that allow taking a peek at which drivers it contains (somebody posted some links around).

Newer drivers are placed in the %windir%\System\VMM32\ folder.

I'm 99.999999% positive the Intel Bus Master driver is your only issue here. You may google for details. ;)

Edited by Drugwash
Link to comment
Share on other sites

Only the INF setup for your chipset is necessary (two "sets" available - 400-series and 800-series). Any BMIDE "setup" is strictly for Windows 95. Tha Application Accelerator may or may not help but won't hurt. Speed gains are only obtained by enabling DMA (as opposed to PIO) and (more or less) nothing else.

Agreeing with Drugwash on this one...

Link to comment
Share on other sites

One way or another you need to get rid of the Intel Bus Master driver that got installed with IntelInf. Go to Control Panel > System >Device Manager > Hard disk controllers > Intel Bus Master PCI IDE controller, select Properties > Driver, click Update driver and then go the manual way (No, I will choose the driver manually). There should be a generic driver at the top of the list - choose it, ignore any warning that it's not designed for that device or whatever and finish the operation, then reboot.

If everything goes well, you'll have the generic IDE driver back and hopefully the DMA with it.

In any case, do create a registry backup beforehand (scanreg /backup at a command prompt) and use it in case Windows won't boot again (scanreg /restore in DOS mode).

Edited by Drugwash
Link to comment
Share on other sites

I just made the change of driver you suggest, Drugwash.

The Intel utility installed the so called "Contrôleur 82371AB/EB PCI Bus Master IDE Intel".

I reinstalled the Windows original "Contrôleur IDE standard double canal PCI".

But the DMA is still "uncheckable" for the Samsung drive. It's no surprise, since this latter driver was the only one present on my PC when I first noticed the issue. I installed the Intel INF utility only afterwards, in a try to figure out the problem.

Link to comment
Share on other sites

Murphy says: "if something can go wrong, it will". I've been too optimistic on this one. :(

Honestly, these drives are too cheap and they're not even worth that money. No audio output (largely embossed on the metal case), no LightScribe in the 'A' (PATA) version - regardless of lack of support in Win9x. But I still have an older model SH-S182D on this main machine, that's been working fine for about 2 years so I kinda trusted the brand.

Here's what I'm gonna do: tomorrow evening when I get back home, if I'm not too tired I'm gonna pull that drive out and mount it on some of the other machines, see what I get in terms of DMA availability. If it passes the tests then you may be into some hardware incompatibility or - why not, although slim chances - a defective drive. We'll see what tomorrow brings. If anybody else got fresh ideas in the mean time, please chime in.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...