# Samba strange errors



## franz (Mar 23, 2009)

Hi everyone!

Not sure this is the right section to post this!

I installed samba & configured it on FreeBSD 7.0.

This is just to server around 15 clients. This is also a "guest only" configuration.

Users can connect but they complain about slow perfomances and I see such things in log file (/var/log/samba/log.smbd):

```
[2009/03/23 09:05:20, 0] lib/util_sock.c:set_socket_options(261)
  Failed to set socket option TCP_NODELAY (Error Connection reset by peer)
[2009/03/23 09:05:20, 0] lib/util_sock.c:get_peer_addr(1224)
  getpeername failed. Error was Socket is not connected
[2009/03/23 09:05:20, 0] lib/util_sock.c:write_data(562)
  write_data: write failure in writing to client 192.168.2.149. Error Broken pipe
[2009/03/23 09:05:20, 0] lib/util_sock.c:send_smb(761)
  Error writing 4 bytes to client. -1. (Broken pipe)
[2009/03/23 09:11:45, 0] lib/util_sock.c:set_socket_options(261)
  Failed to set socket option TCP_NODELAY (Error Connection reset by peer)
[2009/03/23 09:11:45, 0] lib/util_sock.c:get_peer_addr(1224)
  getpeername failed. Error was Socket is not connected
[2009/03/23 09:11:45, 0] lib/util_sock.c:write_data(562)
  write_data: write failure in writing to client 192.168.2.100. Error Broken pipe
[2009/03/23 09:11:45, 0] lib/util_sock.c:send_smb(761)
  Error writing 4 bytes to client. -1. (Broken pipe)
[2009/03/23 09:20:12, 0] smbd/server.c:open_sockets_smbd(531)
  open_sockets_smbd: accept: Software caused connection abort
```

I putted this in my smb.conf just to see if it changed if i setted TCPNODELAY.


```
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE
```

But no way it still appear.

Does anyone have an idea?

Thanks in advance ;-)

PS: Tell me if you'de like to see my smb.conf, i'll post it


----------



## trev (Mar 23, 2009)

```
socket options = SO_RCVBUF=8192 SO_SNDBUF=8192 TCP_NODELAY
```

works for me. You did start/stop samba after changing the config file?


----------



## franz (Mar 23, 2009)

Yes I did it!

I also send a copy of my log.smbd just for today (i even had shorten it)!

Thanks a lot


----------



## trev (Mar 24, 2009)

Are you sure you're editing the correct config file? It should be located at /usr/local/etc/smb.conf - otherwise it seems strange that it's complaining about an option you haven't even set!


----------



## franz (Mar 24, 2009)

Yes I'm sure since when I add new shares in my smb.conf it works.

More, my smb.conf is located in /usr/local/etc/smb.conf as you said!

I've read somewhere (can't  remember  ) that  TCP_NODELAY was the default now. I'll try adding the SO_RCVBUF and SO_SNDBUF today!

Thanks for your help!


----------



## franz (Mar 30, 2009)

One more thing that *could* be interresting, all client are running Xp Home with the same version and SP2 (never updated since they were bought).

Maybe a buggy windows client?


----------



## xer (Jun 8, 2009)

franz said:
			
		

> One more thing that *could* be interresting, all client are running Xp Home with the same version and SP2 (never updated since they were bought).
> 
> Maybe a buggy windows client?



on my experience on this matter, results that some clients had virus and yes, the workstations was xp sp1

i dunno remember as i solved the matter... i will check and i'll post shortly


----------



## franz (Jun 8, 2009)

Ok, I'll try to update clients to SP3.

I hope it'll not break anything :/

It would be great to know how you solved this problem!

Thanks a lot!


----------



## xer (Jun 9, 2009)

franz said:
			
		

> Ok, I'll try to update clients to SP3.
> I hope it'll not break anything :/
> It would be great to know how you solved this problem!
> Thanks a lot!



Nope Franz, don't do it, do not upgrade to SP3, some my older applications (16bit) did not worked at all.

I just checked how i solved your/mine matter, on a mine OpenVpn, there was two boxes connected both of them has a "samba" service, so i denied the other lan and vice versa:

host 1 has 192.168.0.0
host 2 has 192.168.1.0

in smb.conf:

host1 -> hosts deny = 192.168.1.
host2 -> hosts deny = 192.168.0.

also the parameter : 
socket options = SO_RCVBUF=8192 SO_SNDBUF=8192 TCP_NODELAY

will help you, cause everytime samba start, must resolve himself to determinate who is the master, did you check your /etc/hosts file?


----------



## franz (Jun 9, 2009)

OK thanks for the warning ;-)

I can't deny other hosts since it's a file server for the whole subnet...

I only have 1 subnet in my scenario :/

I'll try to add socket options = SO_RCVBUF=8192 SO_SNDBUF=8192 TCP_NODELAY to my smb.conf!

In my /etc/hosts, there is basically nothing (the default one). Should I add or modify something?

Anyway, thanks a lot, I'll try this asap ;-)


----------



## xer (Jun 9, 2009)

franz said:
			
		

> OK thanks for the warning ;-)
> 
> I can't deny other hosts since it's a file server for the whole subnet...
> 
> ...


jeez.. if you did not use named/bind u must configure almost /etc/hosts (i configure it anyway)

one of mine box (example):

xerlabs# hostname
machine_name.yourdomain.com

xerlabs# cat /etc/hosts
::1                     localhost
127.0.0.1               localhost
your_ip                 machine_name.yourdomain.com


----------



## franz (Jun 9, 2009)

In fact I use named for (internal and external) DNS.

I didn't know i also had to add my samba server's name/ip in the samba server /etc/hosts...

I'll add it right now!

Thanks for the advice!

PS: Of course my server's name is added in named configuration ...


----------

