Tag Archives: kernel

Samsung ML-2015 with CUPS 1.4 on Arch Linux

As you might know (yeah, right), I am a proud owner of a Samsung ML-2015 laser printer, this paper-munching, smoke-exhausting hellish machine (which is, in fact, an ML-2010 re-branded for the russian and post-soviet states, so that Samsung can provide localised support).

Updating to CUPS 1.4 on Arch Linux kind of broke the printer. It’s still visible in the CUPS interface, but doesn’t print anything (the jobs are on hold, “waiting for the printer to become available”). The kernel is 2.6.31.4, usblp module disabled as per Arch newsfeed suggestion.

The solution was simple – getting to the “Printers” tab in the web interface and modifying the printer to use a different connection (the one without “usb://”).

Naughty timer ACPI-safe, hangs on FreeBSD on Koolu

After updating the CVS tree from STABLE, rebuilding and reinstalling world and the kernel, I have found that:

  • boot hangs at DHCP discovery (dhclient), devd start-up, and one more place;
  • key repeating doesn’t work, you have to press a key every time;
  • the date doesn’t update;
  • you can’t restart or shut down.

All these have one thing in common: they happen when the counter doesn’t tick.

After noodling around for quite some time with the kernel config and make.conf, I finally understood this wasn’t the reason. See, the GENERIC kernel that kame with the FreeBSD 7.0 CD (and I backed that up after installing, right away) worked, and the GENERIC kernel re-compiled didn’t.

I thought it was related to the build tools. No, not.

Turned out it was the counter (timer). See, your system has several:

% sysctl kern.timecounter.choice
kern.timecounter.choice: TSC(800) ACPI-fast(1000) i8254(0) dummy(-1000000)
% sysctl kern.timecounter.hardware
kern.timecounter.hardware: ACPI-fast

Now, this stuff happened on a Koolu, and it had an ACPI-safe, quality 850, so that got chosen by default. Turned out it didn’t work.

You can do several things:

  • you can boot the same kernel without ACPI, just select the appropriate option;
  • or you can load it by hand:
    sudo sysctl kern.timecounter.hardware=TSC

  • or automatically – add this to /etc/sysctl.conf:
    kern.timecounter.hardware=TSC
    (Make sure there are no quotes in the latter!)

Note to self: see which FreeBSD kernel modules are loaded

Use kldstat.

Synaptics touchpad on FreeBSD

Was misidentified as IntelliMouse. To fix it, I modified psm.c as described, then recompiled the kernel.

Edit: some features were disabled after that, that’s because I forgot to enable the appropriate modules to be compiled, too. Funny enough, at a first glance everything was fine, I was only missing support for sound and NTFS (didn’t check all that much, though).