Now that you have Webmin installed, you can use it to view and updated Samba, and the /etc/hosts file.
I would suggest you start with the hosts file first. It is very easy to update using Webin.
Log into Webmin. In your browser, https://localhost:10000
should get you the login screen. Note, if https does not work, http should work, assuming the Webmin daemon is running. Webmin when first installed requires you to log in as the root user. You can, if you like create a user for yourself. It is not necessary, I find this more convenient. Webmin is designed so you can have many users, each user can have access to different parts of the system. See "Webmin Users" under the Webmin tab.
O.K. The hosts file. Once logged in, Networking-->Network Config-->Host Addresses. Click on 'Add a new host address.' This gives a box to enter the IP address in dotted decimal format, and a box for Hostnames. Click create, the list is updated. What you are doing here is editing the plain text file /etc/hosts on your linux system. You need an entry for each system you want to communicate with.
The success here all depends on how you set your network up. Static IP addresses or DHCP. DHCP is a server, that hands out IP addresses on request. Most home routers come with one. In windows, if you select 'Automatic' in the network setup for your network interface, you are using DHCP. So, have a look at your windows system(s) to see if this is what is set. It will be, unless you set up static IP addresses.
The problem with DHCP is the IP addresses are handed out in the order in which the machines connect to the server ( your router ). Form boot to boot, the IP address of a particular machine can and will be different. ( assuming you have more than one system accessing the router asking for IP addresses. So you may wonder how does this work for Windows systems finding each other on a network? They rely on names resolution to function. It does work, well most of the time, however, not always with Samba. ( I'm not a expert at this either, form experience I found static IP addresses work with both OS's; DHCP + names resolution is a hit and miss at best ). Since the problem you have is finding a resource, we need to eliminate the can't find it problem.
There are two ways to ensure a system always gets the same IP address.
1. Static configuration. This just means you pic an IP address, config it, and that is that. You can do that in windows and linux. You the sys admin can decide who gets what address. ( Power is fun. ) Most home routers support 254 separate IP addresses. ( Class C NAT ). So, you have lots to choose from.
Do you know how to connect to your router and view/modify its configuration? What make and model of router do you have? Most home routers have a sticker on the bottom with this info. If you post this info, most home routers have online doc that tells you how to configure them. You may have a CD that came with the router that has the same information.
2. Use DHCP, modify your router so a specific MAC address always gets the same IP address.
This solution works also, and is the what I do on my home network.
What you do is find the MAC ( Media Access Control address ) address of each system in your network that you want using a specific IP address. Each manufacturer burns a MAC address in every network card they make. If you change cards, you change MAC addresses. To find the MAC address in windows; go to Network Connections in the control panel. Open the one you are using, on the Support tab, click Details, the MAC address is wrongly named my Micr$oft in XP as Physical Address. Example - 08-00-27-15-D2-8A . Your address(s) will be different for each systems network card. Just write them down carefully.
In your router there will be a function to assign IP addresses based on MAC ( Physical addresses ). In there you enter the physical address and a valid IP address you want assigned. This way when a system connects, it always gets the same IP address and is not a moving target. On my router the function is called 'DHCP Reservations'. It may be called something different by different manufacturers. In that function you enter the MAC address and the IP address of each system using DHCP.
I did this with my netbook running Ubuntu 10.04 LTS. I run a samba server on it, I can always see it on the network, including the printers.
Samba. I have never asked you if you are running just the client on Ubuntu, or are running client and server. Client code in installed by default on a full install. Server is added through Synaptic package manager. You only need the server code if you want to share file or print resources on the Ubuntu system.
You can look in Synaptic Package manager, search 'Installed Packages' and samba in the search bar. There are at least three packages for the server, you will see a client, samba-common and samba-server if you have the server. Let me know what you have.
In Webmin, you can access Samba config. Servers-->Samba Windows File Sharing. That gives you a two groups of icons, each looking at different aspects of the config. Windows Networking Options will show you the Workgroup Name samba is using. Please verify it matches the one you use on your windows print server 'MSHOME' in your case.
I would suggest also you install SWAT on your Ubuntu system. SWAT will add an icon in Webmin, and is a much nicer tool to administer samba with. Once installed, access the samba config in webmin, click the swat icon, and log in as root user. You have full and easy control of Samba.
I hope this helps. Let me know how it goes, there is no panic, you are working, I understand...