VMware Communities
ciussi
Contributor
Contributor

Cannot write to samba share from Office apps in XP guest (Linux host)

I run Workstation 6 Beta 44426 on Ubuntu_7.04-64 host and an XP guest.

Hardware is Core2Duo with 4 GB Ram.

I do not use Workstation's share folders, instead, I have a separate fileserver running Ubuntu-server 6.10, Samba, and a number of shared disks.

\- I can access, read, write and execute on all samba shares from a separate XP client (non-vmware).

\- I read, write, execute on all samba shares from the Linux host.

\- From the WS XP guest, I can read, write and execute and create new files (e.g. with notepad) on the samba shares.

THE PROBLEM: when I try to create new files o modify using OFFICE APPLICATIONS from the XP guest, I get various messages and the writes fail.

Example of message from Word:

"The save failed due to out of memory or disk space (SAMBASHARE:\Path\file.doc)"

Example of message from windows appearing in the warning area of the taskbar:

"Windows - Delayed Write Failed

Windows was unable to save all the data for the file
Network_path\. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere."

I checked the router and DHCP server and made sure the VM has its own static address.

Checked the permissions, they should be ok.

This happens ONLY from the Workstation client, and ONLY with Office apps.

Can anyone help?

Thanks

Reply
0 Kudos
18 Replies
Aldebaran
Hot Shot
Hot Shot

Have you had a look at this:

http://support.microsoft.com/kb/830265

Jeff

ciussi
Contributor
Contributor

Checked the above MS article. It did not resolve the issue. However, it was helpful to continue looking for a solution.

Further extensive research seem to pin the issue down to the (virtual?) network adapter[/b].

The exact XP Event Viewer data, under "System" is:

Source: MRxSmb[/b]

Event ID: 50[/b]

Description:

\{Delayed Write Failed} Windows was unable to save all the data for the file \Device\LanmanRedirector. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere.[/b]

Last Data Word in the dump is "[b]c000020c[/b]"

Researching MS KB article did not help much, instead, I had some non-MS hits which, in summary, say the following:

"I have been getting this message on a few PC's for the last few months.today i set the NIC from auto negotiate to force 100mb Full[/b] and bangworked fine. After that no one is having the problem at all now"

(http://www.developerfood.com/re-event-id-50-on-xp-clients-status-code-c000020c-disconnected/microsoft-public-windowsxp-help-and-support/d8432cc4-9a17-4780-9050-c8ea30fc95cf/article.aspx)

And this one:

"The final solution seems to be related to the "autonegotiate" option on various network adaptors. When the network is under stress for long periods of time, the adaptor may enter a temporary state of "auto" negotiating the link, causing the link to be down for a brief period or something. Forcing the link to be 100mbps, full duplex[/b] (for example) eliminates the problem".

(http://tuketu.com/technology/windows/Windows%20Delayed%20Write.mht)

I then turned to the options available for my guest's "[b]VMware Accelerated AMD PCNet Adapter[/b]" but the properties are different from those of standard, physical network adapters.

The closest I can get to that is:

(in XP Device Manager I right click the VM adapter)

Properties > Advanced > Full Duplex[/b]

and I have the following values:

AUI - Full Duplex

Off

Use adapter setting

UTP - Full Duplex[/b]

Therefore, no "Link Speed & Duplex > 100Mbps/Full Duplex" option as you would get, for instance, on a physical "Intel PRO 100 VE" network adapter.

Am I going in the right direction?

Any more ideas, suggestions?

Reply
0 Kudos
ciussi
Contributor
Contributor

Some updates:

I tried all the values under the advanced properties (Full Duplex) of the virtual network adapter:

AUI - Full Duplex

Off

Use adapter setting

UTP - Full Duplex[/b]

Still can't write from Office to the file server (EventID 50[/b], last word "[b]c000020c[/b]")

Forgot to mention I use standard bridged networking on eth0.

What could I try next?

Would an upgrade to the new WS 6.0 RTM build help?

Pls help...

Reply
0 Kudos
turner24
Contributor
Contributor

-VMware Workstation 5.5.4

-Fedora Core 6 (VM)

-Windows XP (primary OS)

What my problem with samba is I can see it from my XP machine but cannot access it, even when I set the share so everyone can access it. Have you ran into that problem before?

-josh

Reply
0 Kudos
Aldebaran
Hot Shot
Hot Shot

When I bring up the settings for VMware Accelerated AMD PCNet Adapter Properties, there is a property called "External PHY" and it has a speed settings available:

100Mb Full Duplex

100Mb Half Duplex

10Mb Full Duplex

10Mb Half Duplex

Auto Detect

My VM is Windows 2000 with bridged networking. Do you see the same thing in your XP VM?

Jeff

Reply
0 Kudos
ciussi
Contributor
Contributor

Hi Jeff

Found those properties for the virtual adapter. Tried 100Mb Full Duplex.

No luck

I tried switching the network cables in case there was a defective link.

No luck

Still unable to write from Office to the network share, while the problem does not exist on an identical non-virtual XP setup from another client connected to the same server.

Reply
0 Kudos
Aldebaran
Hot Shot
Hot Shot

I did some more checking around and found a whole page of links about this problem:

http://www.howtonetworking.com/articles/writefailed.htm

Please let me know what you find out.

Jeff

Reply
0 Kudos
ciussi
Contributor
Contributor

I Jeff I really appreciate the help.

I checked the page you linked above, it is basically a collection of all the MS KB articles that dieal with my issue or similar ones. I had checked them already via different links.

The only one that goes really near the heart of the question is

http://support.microsoft.com/default.aspx?scid=kb;en-us;321733

but unfortunately they talk about a fix already implemented in XPsp2, in fact when I regedited that registry key, I found that the correct value was already there...

I think we are looking at either:

\- A Microsoft issue (unlikely, because there doesn't seem to be much documentation around, and we have another non-vmware XP client writing happily to the same Samba shares.

\- A problem with my Linux

\- A problem with WS6Beta or with the VMware virtual adapter.

\- A problem with my physical host adapter (P5B motherboard, integrated GBLAN).

Still unresolved. Still researching...

Reply
0 Kudos
kingneutron
Expert
Expert

--Have you implemented the ' ethtool ' fix on the host to turn off TSO?

./. If you have appreciated my response, please remember to apply Helpful/Correct points. TIA
Reply
0 Kudos
ciussi
Contributor
Contributor

Hello kingneutron

I tried the following:

sudo ethtool --show-offload eth0[/b]

Got the following:

Offload parameters for eth0:

Cannot get device udp large send offload settings: Operation not supported

rx-checksumming: on

tx-checksumming: off

scatter-gather: off

tcp segmentation offload: off

udp fragmentation offload: off

generic segmentation offload: off[/b]

Do I need doing something else with ethtool?

Thanks!

Reply
0 Kudos
ciussi
Contributor
Contributor

I made an incredible discovery today.

If I try to copy files larger than approx 1 MB directly from the Feisty Nautilus desktop to the samba network shares, I receive the following:

Error "Timeout reached" while copying "/home/\[user]\[path]\[name]".

Would you like to continue?

As stated before, the problem does not occur[/b] from the other XP client connected directly to the Samba fileserver, nor for transfers from the fileserver to the Ubuntu guest.

This basically [i]rules out[/i][/b] a VMware problem.

If there are any ideas, they're welcome.

This thread may, at this stage, have become the wrong place to discuss this.

If anyone believes I should stop discussing this problem here, please do let me know...

Reply
0 Kudos
kingneutron
Expert
Expert

Have you tried also the ethtool fix on the dedicated Samba host? Smiley Wink

./. If you have appreciated my response, please remember to apply Helpful/Correct points. TIA
Reply
0 Kudos
ciussi
Contributor
Contributor

Hi Kingneutron

Here is what I get on the server (ubuntu edgy running samba)

ethtool -k eth0[/b]

Offload parameters for eth0:

no offload info available[/b]

I also installed the Realtek drivers for the P5B's inbuilt LAN controller.

Downloaded and untarred "r1000_v1.05" from Realtek

su -

make clean modules

make install

depmod -a[/b]

Seems like the drivers have been installed, buth the problem persists.

Errors transferring from Feisty client to the Edgy-samba server.

Reply
0 Kudos
ciussi
Contributor
Contributor

Update:

\- Realtek driver update did not resolve, so I disabled the P5B's built-in RTL8168b/8111b NIC from BIOS.

\- Shoved in an old Realtek 8139 in a PC slot, and adjusted eth0 and MAC address parameters

\- Rebooted. Guest now transfers files to Samba shares at the right speed, no errors!

\- HOWEVER[/b]: powered up the XP guest and my heart broke: still get transfer errors from guest to network samba shares, and the same old error if I try to save Office files.

Back to square 1.

Reply
0 Kudos
ciussi
Contributor
Contributor

Hi, here are the news: I solved it!

The problem was the MTU value for the physical NIC on the host.

The NIC was set by Ubuntu to accept packets of max 1492 units.

The XP guest's virtual adapter was sending packets of 1500 units.

For this reason, traffic from the guest (via the host) to other machines on the network, failed.

I upped the MTU to 1500 on the host and that FIXED IT!

If you experience the symptoms described previously in this thread and have a similar Hardware/software setup, then you are advised to check the MTU value on your host's NIC, in Linux Ubuntu you do so by issuing the following command in a terminal window:

ifconfig[/b]

and verify the first MTU value displayed in the output.

If it is less than 1500 and you are running an XP guest, you need to change that to 1500.

You do so manually with

sudo sbin/ifconfig eth0 mtu 1500

Note: assuming your interface name is "eth0" (Check that in the "ifconfig" output).

Note: the new value is only valid until next reboot, but it'll allow you to test your transfers from the guest.

To make it permanent... do some googling Smiley Happy

I actually found inspiration in the following VMware KB article

http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1359&slice...

I just wish I had found it before.... this issue has really burnt my brains out.

Apologies to any VMware engineers who may have received my cries of pain via e-mail...

(a quick reply of encouragement wouldn't have hurt though).

Regards

\[SOLVED]

Reply
0 Kudos
kingneutron
Expert
Expert

Good on ya. Smiley Happy

--Hmm, I wonder why Ubuntu configged it for 1492; that's usually only for DSL connections.

./. If you have appreciated my response, please remember to apply Helpful/Correct points. TIA
Reply
0 Kudos
ciussi
Contributor
Contributor

I DO have a DSL connection, but it is beyond my router/gateway. Not sure what Feisty is supposed to see first (local network or DSL) at install time...

Reply
0 Kudos
psyk
Contributor
Contributor

Top Stuff! This solved my networking problem too.

My setup is VMware Workstation 6.0

Host: Fedora Core 6

Guest: Win XP

Reply
0 Kudos