Bellman

From Wildsong
Jump to navigationJump to search


Bellman is a Mini-ITX server / desktop

Bellman functions as a server, but also has an LCD monitor / keyboard / mouse so it can function as a desktop / web browser machine as well. It is on a UPS and lives in my lab. Since it's on during the day, (it's answering my phones for me), it's a handy place to quickly check email or surf the web.

History

2010 Jan - I just started this section but I have had this machine online for at least a couple years now.

Hardware

  • Intel Atom 230 mini-itx main board
  • 2 GB of DDR2 RAM
  • Case: brand name?? need to look it up. Cost about $50 250W power supply
  • "Green" WD Caviar 500 GB drive. WDC WD5000AACS-00ZUB0 s/n WD-WCASU2227103
  • CD RW drive - Works well with "Sound Juicer" to rip CD's

The hard drive is only 5400 rpm but it's just fine for this application.

Bellman used to be an Athlon desktop system, I recycled the name because I like it. I no longer use any full-size desktop systems at home.

Mainboard

Intel Atom 230 based Little Falls board. It is a compromise to use this board in a server; the GPU uses more power than the CPU and I seldom turn on the monitor.

This board actually has a graphics chip powerful enough to run the latest whizzy Ubuntu Gnome special effects, which I think are lots of fun and quite effective.

It has 2GB of DDR2 667 Mhz RAM. (The max the board can handle)

Intel Atom 230

The Atom 230 is a 64 bit processor and it has "hyperthreading" which means it looks like two CPU's to Linux.

At first I tried the 64 bit version of Ubuntu 8.04.1 but since the board has only 2 GB of RAM (the max allowable) there is currently no advantage to running 64 bit mode. When I installed 8.10 I went back to 32 bit mode when I had trouble finding suitable applications software. This is no longer the case and since I am using 64 bit Ubuntu on Raven I might switch this system over just for improved compatibility.

 0.000000 Initializing CPU#0
16.047896 time.c: Detected 1596.111 MHz processor.
16.900204 Initializing CPU#1
16.977215 Calibrating delay using timer specific routine.. 3192.22 BogoMIPS (lpj=6384445)
16.977367          Intel(R) Atom(TM) CPU  230   @ 1.60GHz stepping 02
16.997432 Brought up 2 CPUs
16.997576 CPU0 attaching sched-domain:
16.997582  domain 0: span 03
16.997585   groups: 01 02
16.997591   domain 1: span 03
16.997594    groups: 03
16.997598 CPU1 attaching sched-domain:
16.997601  domain 0: span 03
16.997603   groups: 02 01
16.997608   domain 1: span 03
16.997611    groups: 03

Multimedia

The Atom board has a standard Intel Northbridge and graphics processor. This is cool because it means finally Ubuntu has all its nifty graphics available to me.

Software

Ubuntu 9.10 Karmic Koala, the desktop install, with lots of added packages like Asterisk and Apache and MySQL and Samba to give it the full range of server functions.

Phones: Bellman runs Asterisk so it handles my home phones 100% now (no more Packet8 crutch. I reprogrammed by Packet8 DTA and now it is part of the Asterisk system.)

Firewall ddclient dnsmasq ntp openvpn samba smartmontools openssh-server tftpd-hpa

Apache, MySQL, PHP, privoxy

postfix

aprsd, gpsd

Media server: it hosts my music collection.

File server: I keep my home directory here and NFS mount it on the desktop machine Raven. Bellman also runs Samba so that my laptop can access files on it.

VMWare Workstation: Since it's in my electronics lab, I can run Windows XP on this machine in a virtual machine, so that I can do development work using Microchip's MPLab PIC tools. More and more though the tools available under Ubuntu are making this less necessary.

Wine Actually I am now trying out running MPLab under Wine 1.0.1 instead of using VMWare. More efficient use of resources.

For Python I have Komodo IDE I also have the wxPython stuff loaded. I edit files with emacs23

I use eagle to view and edit schematics and circuit boards.

VMware Workstation' - Save and restore /usr/lib/vmware/licenses

Ethernet

With the initial release of Ubuntu 8.04, the ethernet driver for the Intel "Little Falls" board was broken. Ubuntu soon released 8.04.1 to fix it -- but the onboard Realtek ethernet interface remained so unreliable that I stuck a 3com NIC in there for a few weeks while waiting for smarter people to figure it out.

Without some extra help Linux thinks the chip is an R8169 and loads that driveer but that is wrong. With 8.10 I did more poking around and discovered that I could compile and install the 8101 driver from the Realtek site (release 1.011) and things seem to be okay now.

Symptom: Ethernet appears to be working but no data will flow across the link. Reboot and it works. Reboot and it doesn't...

Driver Fix

  1. Download and install r8101 driver from Realtek download site. ("LINUX driver for kernel 2.6.X and 2.4.X")
  2. Unpack it in /usr/src and do
make
make install
depmod -a
echo blacklist r8169 >> /etc/modprobe.d/blacklist-network
update-initramfs -u

You have to repeat this process if you upgrade your kernel. I got the idea to do this from here that tell how to compile and install the driver. Ignore the part about patching it. The latest Realtek driver already has the patches installed.

Drivers for RTL8101E and R8110S

Since I wanted to try out gigabit networking with my Intel Atom motherboard, and the builtin interface only does 100BT, I added a Dlink 1Gb card.

All was well until I decided to use 8track as a router.

If you add a 1GB card that is based on the Realtek chipset RTL8110S then the two interfaces get in a fight. The kernel prefers to use the r8169 driver over the r8101 driver and since r8169 has a signature for the built-in RTL8101E interface, it tries to use it for the motherboard interface which then fails 1/2 the time. We are back where we started.

The solution is to to download and install the r8169 driver from RealTek

I am guessing that both the RTL8101E and RTL8110S chipsets are happier running with drivers written by their creator anyway.

If you do this then when you type 'make install' you overwrite the stock driver and you don't want to do the blacklist thing listed above.

Since the Realtek driver does not include the RTL8101 signature in its r8169 driver, the kernel finds and loads the correct driver for each card.

Nice theory Brian, but it's still finding the r8169 module first!

Next I am trying a tip from another web page,

  1. Edit /etc/initramfs-tools/modules to add the drivers in order
  2. update-initramfs -u -k all
  3. reboot

BIOS upgrade

8.10 seemed to have significant problems, until I realized the system BIOS was at rev level 67 and the current version is 103. Since updating BIOS things seem to be running much better.

The upgrade files can be downloaded from Intel and put on a floppy. Remember floppies? I might still have a drive somewhere in my junk pile.

I downloaded a copy of PCDOS 7, copied it to a thumbdrive.

dd if=pcdos7.IMA of=/dev/sdb1

This gives me a thumbdrive with no space for the BIOS files (and no way to expand it as it's FAT12 format), but PCDOS knows about CDROM's, so I put IFLASH.EXE and the BIOS file onto a CD and ran them from there.

USB problem

In 8.0.4.1 these messages filled log files. This problem seems to have gone away in 8.10.

  26.100735 hub 3-0:1.0: over-current change on port 2[
  26.204644 hub 5-0:1.0: over-current change on port 5
  26.308536 hub 5-0:1.0: over-current change on port 6
  26.412452 hub 3-0:1.0: over-current change on port 1
  26.516351 hub 3-0:1.0: over-current change on port 2
  26.620257 hub 5-0:1.0: over-current change on port 5
  26.724160 hub 5-0:1.0: over-current change on port 6
  26.828059 hub 3-0:1.0: over-current change on port 1

Random number generator

  32.407090 intel_rng: Firmware space is locked read-only. If you can't or
  32.407096 intel_rng: don't want to disable this in firmware setup, and if
  32.407100 intel_rng: you are certain that your system has a functional
  32.407103 intel_rng: RNG, try using the 'no_fwh_detect' option.