2010-02-18

Windows 7 not seeing SATA drives

I was trying to install Windows 7 on a system, and it wouldn't see the SATA drive. All evidence pointed to the drivers being correct and not needed; but the drive wouldn't appear.

Finally I determined that because the drive had a dynamic disk on it, Windows 7 setup wouldn't even acknowledge that it existed. I booted Ubuntu and wiped the partition table, and then it worked fine.

2010-02-09

Bringing a recalcitrant SiS ethernet adapter up

I have a SiS900 Ethernet controller that I could assign IP and IPv6 addresses to, but I couldn't bring it up. mii-tool reported that the link was negotiated, and it had worked before my recent kernel compile.

I tried everything I could think of, and recompiled the kernel over and over again. Finally I realized that the other thing I'd changed was turning off SMP support - I turned it back on, and it worked! I think that the card was in INT 19 or something, and I needed SMP support to reach those higher interrupts, even though I had a single core CPU.

Fixing max open files (1024) is smaller than max sockets (4096) errors

If you are running BIND, you may be seeing errors like this in your logs each time you reload or restart named:

Feb  9 22:22:17 mail named[19053]: max open files (1024) is smaller than max sockets (4096)

This is caused by the default number of files that a process can run being set very low, to 1024. By default, in include/linux/fs.h:

#define INR_OPEN 1024           /* Initial setting for nfile rlimits */

You could edit that line and recompile your kernel, but that would involve doing that every time a new kernel was released. An easier option is to edit /etc/security/limits.conf, and add the line:

named        soft    nofile        4096

This sets the default limit for the named user to 4096. Then, edit your named.conf and add

files 4096;

in the options section. Note that you're have to stop and start the named daemon, and not simply run rndc reload, because it needs to actually exit for the changes to take effect. Now the warning will be gone!

2010-02-08

Unicode entry in Ubuntu

To enter Unicode characters in Ubuntu, simply hold down CTRL+SHIFT+U which will create an underlined u: u Then type the hex code for the character you want (with no 0x or anything like that), followed by enter.

∎ (That's 220E, the "QED" character).

2010-02-05

Suppressing key change warnings at the end of a line

Lilypond by default prints key cancellation and then prints the new key signature, even when at the end of a line. No doubt these are helpful to musicians or something, but they look horrible, and can get out of control. It turns out it's relatively complicated to get rid of the cancellation and the new one without removing the normal signature from the following line. However, the following code does what is necessary:


\relative c' {
    \key ces \major
    ges'1 ges1 \bar "|." | \break
    \once \override Score.BreakAlignment #'break-align-orders =
        #(make-vector 3 '(instrument-name
                          left-edge
                          ambitus
                          span-bar
                          breathing-sign
                          clef
                          key-signature
                          time-signature
                          staff-bar
                          custos
                          span-bar))
    \bar "||:"
    \set Staff.printKeyCancellation = ##f
    \set Staff.explicitKeySignatureVisibility = #begin-of-line-visible
    \override Staff.KeySignature #'break-visibility = #begin-of-line-visible
    \key ais \minor
    gis1 eis1 | \break
    gis1 eis1 \bar ":|" |
}

2010-01-12

Barnes and Noble Human Resources phone number

The Barnes and Noble Human Resources phone number is 1-800-799-5335.

That is all.

2009-12-23

PrBoom WAD names

PrBoom works with multiple released versions of Doom, but has particular naming conventions you must follow if you want the Launcher to see the WAD file.

Doom
doom.wad
Ultimate Doom
doomu.wad
Doom II
doom2.wad
TNT: Evilution
tnt.wad
The Plutonia Experiment
plutonia.wad
Freedoom
freedoom.wad

This is particularily important because the Steam version of Ultimate Doom has the WAD file named doom.wad.

2009-10-13

Using a NextWindow touchscreen with Ubuntu

This should work for any X.org based Linux system. The key is to point it at the right event id as follows in /etc/X11/xorg.conf :

Section "InputDevice"
        Identifier "touchscreen"
        Driver "evtouch"
        Option "Device" "/dev/input/by-id/usb-NextWindow_Touchscreen-event-mouse"
        Option "DeviceName" "touchscreen"
        Option "MinX" "1"
        Option "MinY" "1"
        Option "MaxX" "32768"
        Option "MaxY" "32768"
        Option "ReportingMode" "Raw"
        Option "Emulate3Buttons" "false"
        Option "Emulate3Timeout" "50"
        Option "SendCoreEvents" "On"
        Option "CorePointer"
EndSection

Note that this is for the newest 2150 versions. Without the /dev/input/by-id line, the event number seemed to change somewhat randomly on reboot.

2009-09-04

Routing a port through a machine that's not the default router

I have an OpenVPN machine on my network that hosts a VPN, but it is not the default router for the network. I wanted to forward a port for the OpenVPN clients so that they could see another machine on the local network. To do this requires a number of steps.

First, the machine that they'll be connecting to needs a default route added for the OpenVPN network, or the packets will never return. My OpenVPN network is 172.31.4.0 and my local network is 192.168.200.0 in these examples. The OpenVPN server is 172.31.4.1 and 192.168.200.70 on tun0 and eth0 respectively; the machine I want my OpenVPN clients to be able to connect to on port 6666 is 192.168.200.10.

route add -net 172.31.4.0 netmask 255.255.255.0 gw 192.168.200.70 dev eth0

This allows the server to return TCP. Of course, the machine must have its firewall set to allow port 6666 in, but that's simple.

Then, the OpenVPN server needs its forwarding enabled. The commands that worked for me were:

iptables -t nat -A PREROUTING -p tcp --dport 6666 -j DNAT --to 192.168.200.10
iptables -A FORWARD -p tcp -s 192.168.200.10 --sport 6666 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.200.10 --dport 6666 -j ACCEPT

This allows the communication in, and the response back out. I had also added these lines to my INPUT and OUTPUT chains; I'm not sure if they were needed:

iptables -A firewall-input -p udp --dport 6666 -j ACCEPT
iptables -A firewall-output -p tcp -m state --state NEW -m tcp --dport 6666 -j ACCEPT

If not, they don't hurt anything.

2009-08-26

Using SSH to connect to a link-local IPv6 address

It turns out that the self-assigned IPv6 addresses you see are not unique; they're only guaranteed unique on each interface. To ssh to one, you'd need to run:

ssh fe80::21c:c0ff:fe52:c5ec%eth0

for example, where %eth0 specifies eth0.