Martin-Éric Racine: updated ALSA driver for early PowerPC hardware

:-(
No collateral damages though.
:-)
The machine is currently at the
manufacturer and should be back on Monday.:-)
See also the hint in the Debian Wiki.:-(
since the power button simply
doesn’t work when the lid is close. The good news: It doesn’t seem to
have carried away any damage. :-)
application/x-x509-ca-cert
) the DER certificates have
not — they are served as text/plain
. Downloading
them to my server, adding the right content type to the config and
downloading them from there again with the mobile phone worked fine
and I now don’t need to acknowledge anymore the certificate of my IMAP
server each time I want to read my e-mails on the mobile phone. :-)
:-)
The screen section of my
xorg.conf now looks like this:
Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" SubSection "Display" Virtual 2048 2048 EndSubSection EndSectionSee also the xorg.conf in the Debian Wiki.
Model | HP 530 |
Part No. | GU322AA |
CPU | Intel(R) Core(TM) Duo CPU T2300 @ 1.66GHz (stepping 12) - 2 MiB cache |
CPU flags | fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc pni monitor est tm2 xtpr |
Screen | 330 mm x 250 mm viewable area, "glossy" wide-screen. 1280x800 pixels. |
Video | Intel Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller |
Audio | Intel 82801G (ICH7 Family) HDA |
USB | Intel 82801G (ICH7 Family) USB2 EHCI Controller |
Ethernet | Intel 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller Mobile |
WiFi | Intel Corporation PRO/Wireless 3945ABG Network Connection |
Optical media | Optiarc DVD RW AD-7560A |
Hard disk | Fujitsu MHY2120BH, 112GiB, max UDMA/100 |
options snd-hda-intel enable=yes model=laptop
The problem with the lid is that the screen didn't turn off when the lid
closed. Just one time it did work, and stopped doing so after a reboot.
Looking with acpi_listen
, it seems that the acpi event isn't even
generated. I don't know if this is a hardware or software problem.
Also, some not very nice things should be noted about it: it has no
independent media buttons for volume, suspend, etc.; only the WiFi transmitter
kill and the power button, the rest needed a key chord.
It has only two USB ports, which nowadays is incredibly few. No LEDs for
hard dist, scroll lock or num lock. The audio jacks are on the front, which
makes them very unsuitable for any straight plug. Although seldom used, it is
nice to have the ability to turn the screen 180 , but this one can't do it.
Finally, the battery is tiny: only four cells amounting 2 Ah of capacity.
The power consumption seems a little better than my Dell: running on batteries,
with low brightness, an idle GNOME desktop gave a reading of 820mA. Watching a
movie from optical media in full screen ranged from 1 A to 1.3 A depending on
the spinning of the media and the codec. Burning a DVD at 2x took 1.15 A
The good
After installing a Ubuntu 7.10, almost everything Just Worked . Of course
it warned me about the non-free ipw3945 driver, but in seconds network-manager
had connected to my home WLAN.
Network manager could be a little more smart and turn off the WiFi
transmitter when it's disabled by the user, but I guess that's not only an
Ubuntu problem :).
Most media keys worked out of the box, the WiFi kill switch worked OK, as
did suspend to ram and to disk. Video acceleration and obligatory eye candy
worked automatically. No problems either with burning a DVD, listening to music,
watching a movie or connecting to my home network.
The external aspect is not bad, the screen looks good, and the touch pad is
very nice: just a matrix of dots over a surface that doesn't show any other
sign of being an input method.
In conclusion, it shows that it is a very cheap machine, but the drawbacks
seem very few comparing to the good price.
Tags: Planet Lugfi, Planet Debian, Tecnolog a
e100
driver.
Sound
Works out of the box using the snd_intel8x0
driver.
X11
Works out of the box, using either the vesa
or the ati
driver (at a max. resolution of 1024x768).
Touchpad
Works out of the box. Using the Option "SHMConfig" "on"
line in /etc/X11/xorg.conf
's InputDevice
section (using the synaptics
driver) also works fine and allows you to scroll using the touchpad, e.g. in a browser. More info in the SynapticsTouchpad page on the Debian wiki.
CDROM, DVD
Reading CD-ROMs and DVDs as well as burning CD-ROMs works fine. I don't think the drive is capable of writing DVDs.
External VGA
Displaying the screen contents on an external VGA monitor (or beamer) works just fine, switching is done using Fn+F10
.
PCMCIA
Works fine, tested using the Sitecom WL-112 wireless card. The driver installation for that is straight-forward, too:
$ apt-get install rt2500-source $ m-a a-i rt2500-source $ dpkg -i /usr/src/rt2500*debSpecial keys All the Fn-keys work fine (brightness, volume, etc.). There are five other special keys (for starting a browser or something) which I haven't tested, but I don't really care... USB Works fine, but it's only USB 1.1, so some higher-speed devices will not work (DVB-T USB devices for example; PCMCIA DVB-T adapters might work). IrDA, Modem Untested, I don't care. Powersaving, Suspend to RAM It seems this CPU (Pentium III, Coppermine) doesn't support frequency scaling, so
cpufreq-set
doesn't work. I'm using laptop-mode-tools to improve battery life a bit more, though. Also, Suspend-to-RAM works fine out of the box:
$ apt-get install hibernate $ hibernate-ramI haven't tested Suspend-to-Disk yet, but I'm not sure it'll work anyway, as I'm using a dm-crypt'ed disk (+ LVM), as with all my boxes. lspci
00:00.0 Host bridge [0600]: Intel Corporation 82440MX Host Bridge [8086:7194] (rev 01) 00:00.1 Multimedia audio controller [0401]: Intel Corporation 82440MX AC'97 Audio Controller [8086:7195] 00:00.2 Modem [0703]: Intel Corporation 82440MX AC'97 Modem Controller [8086:7196] 00:07.0 Bridge [0680]: Intel Corporation 82440MX ISA Bridge [8086:7198] (rev 01) 00:07.1 IDE interface [0101]: Intel Corporation 82440MX EIDE Controller [8086:7199] 00:07.2 USB Controller [0c03]: Intel Corporation 82440MX USB Universal Host Controller [8086:719a] 00:07.3 Bridge [0680]: Intel Corporation 82440MX Power Management Controller [8086:719b] 00:12.0 Ethernet controller [0200]: Intel Corporation 82557/8/9 [Ethernet Pro 100] [8086:1229] (rev 09) 00:13.0 CardBus bridge [0607]: O2 Micro, Inc. OZ6933/711E1 CardBus/SmartCardBus Controller [1217:6933] (rev 02) 00:13.1 CardBus bridge [0607]: O2 Micro, Inc. OZ6933/711E1 CardBus/SmartCardBus Controller [1217:6933] (rev 02) 00:14.0 VGA compatible controller [0300]: ATI Technologies Inc Rage Mobility P/M [1002:4c52] (rev 64) 01:00.0 Network controller [0280]: RaLink RT2500 802.11g Cardbus/mini-PCI [1814:0201] (rev 01)Other resources I'm really considering making this my "main" box even though it's a bit older/slower, as my current laptop with 45 minutes battery life is a major pain when travelling...
snd_usb_audio
kernel module. You simply attach it via USB (the module is automatically loaded) and then attach external speakers to it. Here's an lsusb
of the device:
Bus 001 Device 011: ID 1130:f211 Tenx Technology, Inc.One problem with playing audio on the slug is the slow CPU. At 266 MHz (and without FPU!) playing audio with "normal" audio players such as
mplayer
or mpg321
is not possible. But there are several ways to make the slug play your favorite music. Here's a list of players I tested and a status report of whether they work at all. If yes, I listed a rough percentage of CPU load resulting from playing the music.
$ madplay foo.mp3
: 17% CPU load$ apt-get install libvorbisidec-dev $ cd /usr/share/doc/libvorbisidec-dev/examples $ make $ cat foo.ogg ./ivorbisfile_example aplay -f cdResult: 40% CPU load
$ mikmod foo.mod
: 10% CPU load (even with compressed MOD files)$ flac123 foo.flac
: 17% CPU load$ speexdec foo.spx
: doesn't work, 100% CPU load. Any known alternatives?$ cd /usr/share/doc/libvorbisidec-dev/examples
$ wget http://www.example.com/foo.ogg -O - ./ivorbisfile_example aplay -f cd
: 40% CPU loadArtec has about 500 pieces left of their older DBE60 ThinCan model, based on the AMD Geode SC2200, and we're selling them at 100 euro / piece, plus VAT and shipping.The DBE60 is configured with three USB 1.1 ports, one parallel printer port, one 100baseT Ethernet port, one VGA port (up to 1024x768 @ 16bpp 60-85Hz or 1280x1024 @ 8bpp 60-75Hz) and one 1/8" stereo audio output jack. Its BIOS provides Etherboot support and its motherboard is populated with 64MB of RAM and 32MB of Stratoflash. It comes delivered with a European AC adapter. The Geode SC2200 is fully supported by the Linux kernel with the sole exception of a missing ALSA snd-scx200, but this could easily be ported from AMD's deprecated OSS driver and X.org support is provided by the "nsc" driver.
Minimum order size is 10 pieces. Contact me via my full name (unaccented, with one hyphen and one dot) at artecgroup.com quoting this special offer.PS: someone was asking if that DBE60 special is also available in the aforementioned Fortune-500 configuration. It indeed is: add 16 euro / piece for the Windows CE 4.1 license with an RDP client.
Do this with the result of this with what this produces when given this input that is derived from this function which takes the result of this other thing after calculating the result of something that is derived from the output of a function that ...
f splitPoints = map fst $ tail $ scanl (flip ($) . snd) ([], toSplit) $
map splitAt splitPoints
Add 5 to A, now if B is not zero we jump to where we subtract one from B and if C is less than 3 we add 4 to C otherwise we divide C by 2 and then add it to A, then we ...
If you'll bear with a poor comparison, sometimes programming is like a song. You do the tricky section, then you go back to an easier section and catch your breath for a bit.
You get sections with DoThisAndThisAndThatWithTheResultsOfSelectThisFromTableXYZ that you have to slow down to think through.
...
GoToTheNextTrickyBit where ManyThingsHappen.
All in all, you wind up with a sort of ebb and flow that works out pretty well if you're in tune with the code being written, going from intense calculations, to a line or two where you do no more than store things in a variable, take a breather, and prepare for the next important stanza.
do DoThis
AndThis
results - SelectThisFromTableXYZ
someVal - AndThat results
GoToTheNextTrickyBit someval
let
results = SelectThisFromTableXYZ
someVal = AndThat results
in
GoToTheNextTrickyBit someVal
firmware-ipw3945_0.3_all.deb
ipw3945d_1.7.22-2_amd64.deb
ipw3945-modules-2.6.18-3-amd64_2.6.18+1.1.2-2_amd64.deb
linux-headers-2.6.18-3_2.6.18-8_amd64.deb
linux-image-2.6.18-3-amd64_2.6.18-8_amd64.deb
Once those packages are installed, wireless just works.
Video
Intel 945GM/GMS/940GML
It just works, with 3D and everything.
To turn on AIGLX and Compiz, just follow the HOWTO in the Debian
wiki.
Audio
Intel 82801G
To make it work add:
options snd-hda-intel model=laptop-eapd
to /etc/modprobe.d/alsa-base
.
Rationale: this link gives
the quick solution. Note: no need to reboot:
/etc/init.d/alsa unload
modprobe snd-hda-intel
The list of models available for the driver is in
/usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz
A hint about the model to use can be found at the beginning of
/proc/asound/card0/codec#0
.
CPU speed scaling
Just modprobe speedstep-centrino
. Then the cpufreq_ondemand module works
fine.
I'm a bit disappointed that it doesn't want to go below 996Mhz (60%) and it has
only 3 scaling modes: 1.66 GHz, 1.33 GHz, 996 MHz.
It used to display available scaling modes weirdly (it would repeat 1.66Ghz 6
times), then I updated the BIOS to version 304 and now it shows just those 3.
The laptop tends to get warm, this disappoints me. I hope things will improve
with newer kernels.
USB
Just works.
SD card reader
Just works.
I put an SD card in and it gets mounted automatically. In the old Asus M2 the
card reader was just some unsupported obscure thing.
Ethernet
RTL8111/8168B Gigabit Ethernet. I'm not sure it was working in the installer,
but in the installed system it works out of the box.
Very pleasant thing: it can cross the cable if needed.
DVD reader/writer
Just works. I haven't tried burning CDs or DVDs, but k3b sees it and
correctly detects the writing speed.
Bluetooth
Just works. I connected to the bluetooth GPS just fine.
ACPI
Still quirky.
Brightness control buttons don't work: before updating the BIOS I would get
this reaction on syslog:
Dec 17 23:57:35 viaza kernel: ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.SBRG.EC0_._Q0E] (Node ffff81003e98bd90), AE_NOT_FOUND
Dec 17 23:57:35 viaza kernel: ACPI Error (psargs-0355): [\_SB_.PCI0.P0P2.VGA_.LCDD] Namespace lookup failure, AE_NOT_FOUND
After updating the BIOS I get this reaction instead:
Dec 21 21:17:38 viaza kernel: video device notify
Dec 21 21:17:38 viaza kernel: set_level status: 0
Dec 21 21:17:38 viaza kernel: compiz.real[4013]: segfault at 0000000000000060 rip 000000000040b3b0 rsp 00007fff6c47f4e0 error 4
compiz segfaults and I'm back to gdm, with the brightness unchanged.
The LCD on/off button works.
Controlling the LCD via software does not work:
# echo 1 > /proc/acpi/asus/lcd
Dec 21 22:22:45 viaza kernel: Asus ACPI: Error switching LCD
# cat /proc/acpi/asus/lcd
Dec 21 22:22:49 viaza kernel: Asus ACPI: Error reading LCD status
0
In fact, asus-acpi complains:
Dec 21 17:08:29 viaza kernel: Asus Laptop ACPI Extras version 0.30
Dec 21 17:08:29 viaza kernel: unsupported model U5F, trying default values
Dec 21 17:08:29 viaza kernel: send /proc/acpi/dsdt to the developers
Therefore, I sent the dsdt to the developers.
The wireless on/off button turns on and off the wlan and bluetooth leds, and
apparently also the wireless hardware. I still don't know how to turn off
bluetooth and leave wlan on.
Suspend
Suspend to ram works, but on resume it does not turn on the LCD display. The
LCD on/off button has no effect. Other things work fine, so I can blind-type a
shutdown command.
I have vbetool installed, but it doesn't seem to help.
So far, suspend is still not usable.
Modem
Not tried.
snd-powermac
, except that some controls are inverted and other controls just plain don't work. Probably something as simple as the wrong offset in the bitmap used to select the control on which to act. Bug filed in the ALSA BTS. No reaction.
Anyhow, sound support for Apple products is being migrated to snd-aop
, which was written from scratch using a modular architecture that enables easily adding support for new sound chips. Nice idea, except that no effort is being put towards supporting pre-G4 products...
Back when Ubuntu appeared on the Linux scene, Mark Shuttleworth agreed to pay a 500$ bounty to whoever made ALSA work on all PowerMac variants. Nobody took it, as far as I know. Those who are interested in taking on this challenge might wanna check my wiki page for our summary of the ALSA PowerMac situation.
snd-scx200
driver at all. Bug filed in the ALSA BTS. The issue of sound support on early Geode products was also mentioned on the Linux kernel mailing list, during the big OSS cleanup discussion so, at least, some people are aware of the issue.
It so happens that the Geode SC is used in a number of popular embedded boards, such as the Soekris and yet, nobody tried porting the old OSS drivers available on AMD's Geode driver source page. Odd.
00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2) Subsystem: ASRock Incorporation Unknown device 0888device, I'd welcome any hints. Kernel is 2.6.17-1-amd64-k8. Maybe I just have to get a newer Alsa with some hardware information on this device? [Update: this is a realtek ALC 888, there is a patch for this to come in 2.6.18...] Anyway, I now have a AMD64 box, and as soon as I've setup some i386 chroot I'll have a useable build-box after all. ;-) And maybe I can do some SELinux testing on it, too. OTOH, I should get myself a diploma thesis topic now, and work on my final thesis.
$ esd ALSA lib pcm_direct.c:786:(snd_pcm_direct_initialize_slave) snd_pcm_hw_params_any failed ALSA lib pcm_dmix.c:831:(snd_pcm_dmix_open) unable to initialize slaveThe sound card is a standard Intel chipset:
0000:00:1b.0 0403: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
0000:00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
Subsystem: Hewlett-Packard Company: Unknown device 3010
Flags: bus master, fast devsel, latency 0, IRQ 21
Memory at e0a00000 (64-bit, non-prefetchable) [size=16K]
Capabilities:
Today I sat down and tried to work out what was going on, it turns out the Realtek ALC260 chipset that is used on this motherboard supports quite a few different pinouts, so while snd-hda-intel knows how to drive it you don’t actually get any sound unless you have the correct mapping setup! The driver attempts to do this automatically for a number of different motherboards and there is a entry in the table for my particular motherboard (Subsystem 0×3010) mapping it to the ALC260_HP patching, but still nothing works!
Eventually I stumbled across ALSA Bug #2157 which fixes an identical problem for a different motherboard (Subsystem 0×3012) by using the ALC260_HP_3013 mapping in the driver.
So, taking a guess, I made the same change for the 0×3010 mapping, rebooted, and voila, I have sound. Patch below:
--- sound/pci/hda/patch_realtek.c.orig 2006-08-05 21:13:49.000000000 +1200
+++ sound/pci/hda/patch_realtek.c 2006-08-05 20:33:17.000000000 +1200
@@ -2951,7 +2951,7 @@
.pci_subvendor = 0x152d, .pci_subdevice = 0x0729,
.config = ALC260_BASIC , /* CTL Travel Master U553W */
.modelname = "hp", .config = ALC260_HP ,
- .pci_subvendor = 0x103c, .pci_subdevice = 0x3010, .config = ALC260_HP ,
+ .pci_subvendor = 0x103c, .pci_subdevice = 0x3010, .config = ALC260_HP_3013 ,
.pci_subvendor = 0x103c, .pci_subdevice = 0x3011, .config = ALC260_HP ,
.pci_subvendor = 0x103c, .pci_subdevice = 0x3012, .config = ALC260_HP ,
.pci_subvendor = 0x103c, .pci_subdevice = 0x3013, .config = ALC260_HP_3013 ,
apt-get install linux-image-2.6-xen-686 xen-hypervisor-3.0-i386 xen-utils-3.0 xen-toolsxen-tools tries to recommend xen, which is old and has been requested to be removed from the archive. The recommends needs to be ignored, which is not that trivial to do with aptitude. The linux-image doesn't happen to have an initrd. The bug has already been reported. One can recreate one using:
mkinitrd -o/boot/initrd-2.6.16-2-xen-686.img 2.6.16-2-xen-686Then one adds this to /boot/grub/menu.lst:
title Xen root (hd0,0) kernel /boot/xen-3.0-i386.gz module /boot/vmlinuz-2.6.16-2-xen-686 root=/dev/hda1 module /boot/initrd.img-2.6.16-2-xen-smpAnd it boots lovely:
# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 939 2 r----- 4677.9Now xen-tools provides xen-create-image. I'll try to create the Dapper image (deboostrap in my system has already been changed to be able to install dapper):
xen-create-image --size=4G --swap=128M --dhcp --volume=marvin \ --hostname=cavazza --dist=dapper --fs=xfsBut I get:
[...] Creating swapfile : /dev/marvin/cavazza-swap Done Creating disk image: /dev/marvin/cavazza-root Done Creating xfs filesystem Done Installing the base system. This will take a while! Copying files from host to image. Finished Something went wrong with the debootstrap installation AbortingI love detailed error messages. This one is not. So I'll have to do by hand. The documentation says:
Before you can start an additional domain, you must create a configuration file. We provide two example files which you can use as a starting point:But in Debian there's no trace of the two example files. I've reported to Guido Trotter. Then I googled for the two files and found them. Now, on to adapt Dapper to run under Xen. The good Ubuntu wiki has an HOWTO which crudely makes you install the Tarballed Pre-built installations of Xen 3.0. It's sad that xen-enabled kernels didn't make it into Dapper roper. I can make this:
- /etc/xen/xmexample1 is a simple template configuration file for describing a single VM.
- /etc/xen/xmexample2 file is a template description that is intended to be reused for multiple virtual machines. Setting the value of the vmid variable on the xm command line fills in parts of this template.
kernel = "/boot/vmlinuz-xen-domu" memory = 128 name = "Dapper" disk = [ 'phy:marvin/dapper,hda1,w' ] dhcp="dhcp" root = "/dev/hda1 ro"I used the pre-built kernel as a domU, but:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1)Sigh. I'll try with the Debian Xen-enabled kernels. Installing yaird and linux-image-2.6.16-2-xen-686_2.6.16-14_i386.deb and linux-modules-2.6.16-2-xen-686. It WORKS! Now, that's not Dapper: that's a debootstrap install of it. No user, no root password, no desktop, no shiny Ubuntu custom config. How to finish the installation? No idea. In the past, I could run base-config, but now it doesn't exist anymore. It seems that the best bet is not to use debootstrap, but to install the CD in the LVM partition using QEMU and then chroot into it and then install the debian xen kernel to boot it. A QEMU install will take ages, and I expect some trouble, like getting partman to see LVM. Maybe I better install on a disk image file and then use tar and netcat to bring the ubuntu installation out of the disk image and into the LVM image. For today, I didn't make it. This job slips another day. Frustration. I hope that at least this description of my efforts so far can be helpful to someone trying similar things. One suggestion I got was to boot the Dapper CD and install from there. I can't: this computer has no bootable CD. Update: I found out http://xensource.com/summerofcode.html and it says:
Project Idea 3: Xen Desktop Outside of Domain 0 This project would deliver a Xen desktop to the user of a client system that presents an abstraction of a virtual desktop to the user in which multiple guests share the virtual desktop, each with a subset of the desktop resources (pixels, etc). Smart management of the sound drivers would allow mixing of sound from multiple guests to the single device used for output. Microphone input could be broadcast to all guests. Technologies such as ALSA already emulate playback settings by downsampling for the hardware etc. so its not hard to imagine a xen-snd-front device munging the data to a common format used for the internal sound card. Issues: synchronization of playback.So, what I'm trying to do has been proposed as a SoC project and (I guess) is something that can't be done overnight. Although I was planning to run a diskless gdm accessed with XDMCMP from domain0's X server, and to just hand out the audio card to the domU using pciback, so my task would have been easier. Thus I give up using Xen for this one. I'll work around the lack-of-bootable-cd limitation of this computer by installing Ubuntu using QEMU. Which I found out requires using the "Alternate install" CD. The desktop install CD is a live CD installing with Ubuntu Expresso, and the live CD doesn't seem to work in QEMU. Or, I'll install in a LVM partition in the laptop and then move it around using the network. This one's probably faster. Could this experience be an interesting use case for Edgy Eft?
Note: This article is part of my OS Install Experiences series.I'll continue with the recently released operating system PC-BSD 1.1, which is based on FreeBSD 6.1. This is actually the first time I installed a BSD-like OS, so I thought it would be a bit of a hassle. But I was surprised to find that the install was really pretty easy (which is a major goal of PC-BSD, as I understand it). I didn't even read a manual or installation instructions or anything... Install
/dev/ad0
(counting starts at 0) is the first disk, /dev/ad0s1
(counting starts at 1) the first "partition" (called "slice" in BSD). It doesn't seem to be possible to install PC-BSD on an extended partition (please correct me if I'm wrong), so I installed it on /dev/hda2
(/dev/ad0s2
in BSD-speak), which is a primary partition. To make things more complex and confusing, a BSD slice can contain multiple "partitions" (not the same as Linux partitions!). I now have /dev/ad0s2a
, which is the boot partition, and /dev/ad0s2b
, the swap partition. Confused? Me too.
hostname
after the install and I got PCBSD.localhost
.PORT STATE SERVICE 22/tcp open ssh 139/tcp open netbios-ssn 445/tcp open microsoft-ds 631/tcp open ippssh is configured to not allow root logins per default.
%sockstat -l -4 -6 USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS root smbd 771 19 tcp4 *:445 *:* root smbd 771 20 tcp4 *:139 *:* root nmbd 763 6 udp4 *:137 *:* root nmbd 763 7 udp4 *:138 *:* root nmbd 763 8 udp4 192.168.0.4:137 *:* root nmbd 763 9 udp4 192.168.0.4:138 *:* root cupsd 703 0 tcp4 *:631 *:* root cupsd 703 2 udp4 *:631 *:* root sendmail 658 4 tcp4 127.0.0.1:25 *:* root sshd 630 3 tcp6 *:22 *:* root sshd 630 4 tcp4 *:22 *:* root syslogd 480 6 udp6 *:514 *:* root syslogd 480 7 udp4 *:514 *:*Gah, netstat options differ quite a bit from the Linux netstat implementation. After some googling I found you can use either
netstat -f inet -an
, or sockstat -l -4
.
-rw-r--r-- 2 root wheel 801 Sep 18 2005 .cshrc -rw-r--r-- 2 root wheel 251 Sep 18 2005 .profile drwxr-xr-x 2 root wheel 512 Jan 9 19:28 .qt drwxrwxr-x 2 root operator 512 May 31 12:56 .snap -r--r--r-- 1 root wheel 6188 Sep 18 2005 COPYRIGHT drwxr-xr-x 14 root wheel 512 May 31 12:57 PCBSD drwxr-xr-x 7 root wheel 512 Aug 2 2005 Programs drwxr-xr-x 2 root wheel 1024 May 22 14:13 bin lrwxr-xr-x 1 root wheel 10 Nov 2 2005 compat -> usr/compat dr-xr-xr-x 5 root wheel 512 Dec 31 1969 dev -rw------- 1 root wheel 4096 May 26 09:52 entropy drwxr-xr-x 18 root wheel 2048 May 31 21:07 etc lrwxrwxrwx 1 root wheel 8 Jan 10 21:48 home -> usr/home dr-xr-xr-x 2 root wheel 512 Sep 18 2005 proc drwxr-xr-x 2 root wheel 2560 May 22 14:14 rescue drwxr-xr-x 4 root wheel 512 May 31 21:21 root lrwxr-xr-x 1 root wheel 11 May 22 14:12 sys -> usr/src/sys drwxrwxrwx 10 root wheel 512 May 31 21:07 tmp drwxr-xr-x 3 root wheel 512 May 31 13:56 /usr/home drwxr-xr-x 7 uwe uwe 1024 May 31 21:07 /home/uwe/ crw-rw-rw- 1 root operator 0, 98 May 31 21:01 acd0 crw-r--r-- 1 root wheel 0, 30 May 31 21:01 acpi crw-r----- 1 root operator 0, 96 May 31 21:01 ad0* crw-r----- 1 root operator 0, 97 May 31 21:01 ad1* crw------- 1 root wheel 0, 32 May 31 21:01 agpgart crw-rw-r-- 1 root operator 0, 31 May 31 21:01 apm crw------- 1 root operator 0, 29 May 31 21:01 ata crw------- 1 root wheel 0, 64 May 31 21:01 atkbd0 crw-rw-rw- 1 root wheel 0, 37 May 31 21:01 audio0.* crw------- 1 root wheel 0, 142 May 31 21:01 bpf0 crw-rw-rw- 1 root operator 0, 141 May 31 21:01 cd0 crw------- 1 root wheel 0, 11 May 31 21:20 console crw------- 1 root wheel 0, 82 May 31 21:01 consolectl crw-rw-rw- 1 root wheel 0, 12 May 31 21:01 ctty crw-rw---- 1 uucp dialer 0, 55 May 31 21:01 cuad* crw------- 1 root wheel 0, 4 May 31 21:01 devctl cr-------- 1 root wheel 0, 94 May 31 21:01 devstat dr-xr-xr-x 2 root wheel 512 Dec 31 1969 dri crw-rw-rw- 1 root wheel 0, 35 May 31 22:40 dsp* dr-xr-xr-x 2 root wheel 512 Dec 31 1969 fd crw-r----- 1 root operator 0, 95 May 31 21:01 fd0 crw------- 1 root wheel 0, 16 May 31 21:01 fido crw-r----- 1 root operator 0, 5 May 31 21:01 geom.ctl crw------- 1 root wheel 0, 17 May 31 21:01 io crw------- 1 root wheel 0, 25 May 31 21:01 kbdmux0 crw------- 1 root wheel 0, 7 May 31 21:01 klog crw-r----- 1 root kmem 0, 28 May 31 21:01 kmem crw------- 1 root wheel 0, 49 May 31 21:01 lpt0* crw------- 1 root wheel 0, 93 May 31 21:01 mdctl crw-r----- 1 root kmem 0, 27 May 31 21:01 mem crw-rw-rw- 1 root wheel 0, 34 May 31 21:01 mixer0 dr-xr-xr-x 2 root wheel 512 Dec 31 1969 net crw------- 1 root wheel 0, 3 May 31 21:01 network crw------- 1 root wheel 0, 84 May 31 21:01 nfs4 crw------- 1 root kmem 0, 15 May 31 21:01 nfslock crw-rw-rw- 1 root wheel 0, 8 May 31 22:33 null crw-rw-rw- 1 root operator 0, 140 May 31 21:01 pass0 crw-r--r-- 1 root wheel 0, 10 May 31 21:01 pci crw------- 1 root wheel 0, 85 May 31 21:01 pf crw------- 1 root wheel 0, 51 May 31 21:01 ppi0 crw-rw-rw- 1 root wheel 0, 146 May 31 21:01 ptyp* crw-rw-rw- 1 root wheel 0, 13 May 31 21:01 random cr--r--r-- 1 root wheel 0, 6 May 31 21:01 sndstat crw------- 1 root wheel 0, 18 May 31 21:01 sysmouse crw------- 1 root wheel 0, 52 May 31 21:01 ttyd* crw--w---- 1 uwe tty 0, 147 May 31 21:01 ttyp0 crw------- 1 uwe tty 0, 149 May 31 22:40 ttyp1 crw------- 1 root tty 0, 66 May 31 21:07 ttyv0 crw------- 1 root wheel 0, 67 May 31 21:02 ttyv[1-9a-f] crw-r--r-- 1 root operator 0, 83 May 31 21:01 ums0 lrwxr-xr-x 1 root wheel 6 Dec 31 1969 urandom -> random crw-rw---- 1 root operator 0, 45 May 31 21:01 usb* crw-rw-rw- 1 root operator 0, 92 May 31 21:01 xpt0 crw-rw-rw- 1 root wheel 0, 9 May 31 21:01 zeroAt least
/root
and /home/*
could use a chmod 700
.
root:*:0:0:Charlie &:/root:/bin/csh toor:*:0:0:Bourne-again Superuser:/root: daemon:*:1:1:Owner of many system processes:/root:/usr/sbin/nologin operator:*:2:5:System &:/:/usr/sbin/nologin bin:*:3:7:Binaries Commands and Source:/:/usr/sbin/nologin tty:*:4:65533:Tty Sandbox:/:/usr/sbin/nologin kmem:*:5:65533:KMem Sandbox:/:/usr/sbin/nologin games:*:7:13:Games pseudo-user:/usr/games:/usr/sbin/nologin news:*:8:8:News Subsystem:/:/usr/sbin/nologin man:*:9:9:Mister Man Pages:/usr/share/man:/usr/sbin/nologin sshd:*:22:22:Secure Shell Daemon:/var/empty:/usr/sbin/nologin smmsp:*:25:25:Sendmail Submission User:/var/spool/clientmqueue:/usr/sbin/nologin mailnull:*:26:26:Sendmail Default User:/var/spool/mqueue:/usr/sbin/nologin bind:*:53:53:Bind Sandbox:/:/usr/sbin/nologin proxy:*:62:62:Packet Filter pseudo-user:/nonexistent:/usr/sbin/nologin _pflogd:*:64:64:pflogd privsep user:/var/empty:/usr/sbin/nologin _dhcp:*:65:65:dhcp programs:/var/empty:/usr/sbin/nologin uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/local/libexec/uucp/uucico pop:*:68:6:Post Office Owner:/nonexistent:/usr/sbin/nologin www:*:80:80:World Wide Web Owner:/nonexistent:/usr/sbin/nologin nobody:*:65534:65534:Unprivileged user:/nonexistent:/usr/sbin/nologin cyrus:*:60:60:the cyrus mail server:/nonexistent:/usr/sbin/nologin uwe:*:1001:1001:U:/home/uwe:/bin/cshNow, this is nice. The default shell for system users seems to be
/usr/sbin/nologin
. Default for normal users is /bin/csh
. There's no /etc/shadow
, but /etc/master.passwd
seems to serve the same purpose. MD5 hashes seem to be used to store passwords (hashes begin with $1$
).
# find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -ld ' ' \; -r-sr-xr-x 1 root wheel 18332 May 22 14:13 /bin/rcp -rwsr-sr-t 2 root wheel 10832 May 22 14:14 /sbin/mdmfs -rwsr-sr-t 2 root wheel 10832 May 22 14:14 /sbin/mount_mfs -r-sr-x--- 1 root operator 4912 May 22 14:14 /sbin/mksnap_ffs -rwsr-sr-t 1 root wheel 14968 May 22 14:14 /sbin/mount -rwsr-sr-t 1 root wheel 7908 May 22 14:14 /sbin/mount_cd9660 -rwsr-sr-t 1 root wheel 6212 May 22 14:14 /sbin/mount_ext2fs -rwsr-sr-t 1 root wheel 10408 May 22 14:14 /sbin/mount_msdosfs -rwsr-sr-t 1 root wheel 16884 May 22 14:14 /sbin/mount_nfs -rwsr-sr-t 1 root wheel 15220 May 22 14:14 /sbin/mount_nfs4 -rwsr-sr-t 1 root wheel 10304 May 22 14:14 /sbin/mount_ntfs -rwsr-sr-t 1 root wheel 6152 May 22 14:14 /sbin/mount_nullfs -rwsr-sr-t 1 root wheel 6148 May 22 14:14 /sbin/mount_reiserfs -rwsr-sr-t 5 root wheel 6192 May 22 14:14 /sbin/mount_std -rwsr-sr-t 5 root wheel 6192 May 22 14:14 /sbin/mount_devfs -rwsr-sr-t 5 root wheel 6192 May 22 14:14 /sbin/mount_fdescfs -rwsr-sr-t 5 root wheel 6192 May 22 14:14 /sbin/mount_linprocfs -rwsr-sr-t 5 root wheel 6192 May 22 14:14 /sbin/mount_procfs -rwsr-sr-t 1 root wheel 6868 May 22 14:14 /sbin/mount_udf -rwsr-sr-t 1 root wheel 7472 May 22 14:14 /sbin/mount_umapfs -rwsr-sr-t 1 root wheel 6184 May 22 14:14 /sbin/mount_unionfs -r-sr-xr-x 1 root wheel 21792 May 22 14:14 /sbin/ping -r-sr-xr-x 1 root wheel 28660 May 22 14:14 /sbin/ping6 -r-sr-x--- 1 root operator 10148 May 22 14:14 /sbin/shutdown -rwsr-sr-t 1 root wheel 14276 May 22 14:14 /sbin/umount -rwsr-sr-t 1 uwe uwe 661 Mar 28 12:20 /sbin/mount_auto -r-sr-xr-x 4 root wheel 20948 May 22 14:14 /usr/bin/at -r-sr-xr-x 4 root wheel 20948 May 22 14:14 /usr/bin/atq -r-sr-xr-x 4 root wheel 20948 May 22 14:14 /usr/bin/atrm -r-sr-xr-x 4 root wheel 20948 May 22 14:14 /usr/bin/batch -r-xr-sr-x 1 root kmem 8500 May 22 14:14 /usr/bin/btsockstat -r-sr-xr-x 6 root wheel 17532 May 22 14:14 /usr/bin/chpass -r-sr-xr-x 6 root wheel 17532 May 22 14:14 /usr/bin/chfn -r-sr-xr-x 6 root wheel 17532 May 22 14:14 /usr/bin/chsh -r-sr-xr-x 6 root wheel 17532 May 22 14:14 /usr/bin/ypchpass -r-sr-xr-x 6 root wheel 17532 May 22 14:14 /usr/bin/ypchfn -r-sr-xr-x 6 root wheel 17532 May 22 14:14 /usr/bin/ypchsh -r-xr-sr-x 1 root kmem 14340 May 22 14:14 /usr/bin/fstat -r-sr-xr-x 1 root wheel 7680 May 22 14:14 /usr/bin/lock -r-sr-xr-x 1 root wheel 17616 May 22 14:14 /usr/bin/login -r-xr-sr-x 1 root kmem 114864 May 22 14:14 /usr/bin/netstat -r-sr-xr-x 1 root wheel 4128 May 22 14:14 /usr/bin/opieinfo -r-sr-xr-x 1 root wheel 10572 May 22 14:14 /usr/bin/opiepasswd -r-sr-xr-x 2 root wheel 5828 May 22 14:14 /usr/bin/passwd -r-sr-xr-x 2 root wheel 5828 May 22 14:14 /usr/bin/yppasswd -r-sr-xr-x 1 root wheel 10140 May 22 14:14 /usr/bin/rlogin -r-sr-xr-x 1 root wheel 8016 May 22 14:14 /usr/bin/rsh -r-sr-xr-x 1 root wheel 11992 May 22 14:15 /usr/bin/su -r-xr-sr-x 1 root tty 10536 May 22 14:15 /usr/bin/wall -r-xr-sr-x 1 root tty 8172 May 22 14:15 /usr/bin/write -r-sr-xr-x 1 root wheel 24544 May 22 14:15 /usr/bin/crontab -r-xr-sr-x 1 root smmsp 582752 May 22 14:15 /usr/libexec/sendmail/sendmail -r-sr-xr-x 1 root wheel 3400 May 22 14:13 /usr/libexec/pt_chown -r-sr-xr-x 1 root wheel 4244 Mar 2 08:29 /usr/local/bin/artswrapper -rwsr-xr-x 1 root wheel 11001 Oct 10 2005 /usr/local/bin/fileshareset -rwsr-xr-x 1 root wheel 5936 Apr 12 12:39 /usr/local/bin/kpac_dhcp_helper -rwsr-xr-x 1 root wheel 5972 Apr 12 12:14 /usr/local/bin/kgrantpty -r-xr-sr-x 1 root kmem 39780 Apr 12 18:28 /usr/local/bin/ksysguardd -rwsr-xr-x 1 root wheel 10812 Apr 12 18:06 /usr/local/bin/kcheckpass -rwxr-sr-x 1 root nogroup 49324 Apr 12 18:08 /usr/local/bin/kdesud -rwsr-xr-x 1 root wheel 595620 Apr 12 21:46 /usr/local/bin/kppp -rwsr-xr-x 1 root daemon 8848 Mar 2 10:17 /usr/local/bin/lppasswd -r-sr-xr-x 1 root wheel 5744 Oct 11 2005 /usr/local/sbin/eject -r-sr-sr-x 1 root authpf 14724 May 22 14:15 /usr/sbin/authpf -r-xr-sr-x 1 root daemon 43112 May 22 14:15 /usr/sbin/lpc -r-sr-xr-x 1 root wheel 15844 May 22 14:15 /usr/sbin/mrinfo -r-sr-xr-x 1 root wheel 30452 May 22 14:15 /usr/sbin/mtrace -r-sr-x--- 1 root network 324192 May 22 14:15 /usr/sbin/ppp -r-sr-x--- 1 root dialer 96760 May 22 14:15 /usr/sbin/pppd -r-sr-x--- 1 root network 11636 May 22 14:15 /usr/sbin/sliplogin -r-sr-xr-x 1 root wheel 14908 May 22 14:15 /usr/sbin/timedc -r-sr-xr-x 1 root wheel 19168 May 22 14:15 /usr/sbin/traceroute -r-sr-xr-x 1 root wheel 16212 May 22 14:15 /usr/sbin/traceroute6 -r-xr-sr-x 1 root kmem 8252 May 22 14:15 /usr/sbin/trpt -rws--x--x 1 root wheel 257252 Apr 12 11:03 /usr/X11R6/bin/xterm -rws--x--x 1 root wheel 1677417 Apr 12 10:55 /usr/X11R6/bin/XorgQuite a lot more than other OSes, I have the impression. They use sendmail?! Or is that a more secure replacement? Didn't check...
# find / -not -type l -perm -o+w -exec ls -ld ' ' \; drwxrwxrwx 10 root wheel 512 May 31 21:51 /tmp drwxrwxrwt 2 root wheel 512 May 31 21:07 /tmp/.X11-unix srwxrwxrwx 1 root wheel 0 May 31 21:07 /tmp/.X11-unix/X0 drwxrwxrwt 2 root wheel 512 May 31 21:07 /tmp/.ICE-unix drwxrwxrwt 2 root wheel 512 May 31 21:01 /tmp/.font-unix drwxrwxrwt 2 root wheel 512 May 31 21:01 /tmp/.XIM-unix srw-rw-rw- 1 root wheel 0 May 31 21:01 /var/run/devd.pipe srw-rw-rw- 1 root wheel 0 May 31 21:01 /var/run/log srw-rw-rw- 1 root wheel 0 May 31 21:07 /var/run/xdmctl/dmctl/socket srw-rw-rw- 1 root wheel 0 May 31 21:07 /var/run/xdmctl/dmctl-:0/socket drwxrwxrwt 2 root wheel 512 Apr 12 10:40 /var/spool/samba drwxrwxrwt 5 root wheel 512 May 31 21:07 /var/tmp drwxrwxrwt 2 root wheel 512 May 31 21:51 /var/tmp/vi.recover drwxrwxrwx 2 root wheel 512 May 11 2005 /Programs/.tmp crw-rw-rw- 1 root wheel 0, 8 May 31 21:44 /dev/null crw-rw-rw- 1 root wheel 0, 9 May 31 21:01 /dev/zero crw-rw-rw- 1 root wheel 0, 12 May 31 21:01 /dev/ctty crw-rw-rw- 1 root wheel 0, 13 May 31 21:01 /dev/random crw-rw-rw- 1 root wheel 0, 19 May 31 21:01 /dev/fd/0 crw-rw-rw- 1 root wheel 0, 21 May 31 21:01 /dev/fd/1 crw-rw-rw- 1 root wheel 0, 23 May 31 21:01 /dev/fd/2 crw-rw-rw- 1 root wheel 0, 34 May 31 21:01 /dev/mixer0 crw-rw-rw- 1 root wheel 0, 35 May 31 21:41 /dev/dsp0.0 crw-rw-rw- 1 root wheel 0, 36 May 31 21:01 /dev/dspW0.0 crw-rw-rw- 1 root wheel 0, 37 May 31 21:01 /dev/audio0.0 crw-rw-rw- 1 root wheel 0, 38 May 31 21:01 /dev/dsp0.1 crw-rw-rw- 1 root wheel 0, 39 May 31 21:01 /dev/dspW0.1 crw-rw-rw- 1 root wheel 0, 40 May 31 21:01 /dev/audio0.1 crw-rw-rw- 1 root wheel 0, 41 May 31 21:01 /dev/dspr0.1 crw-rw-rw- 1 root operator 0, 92 May 31 21:01 /dev/xpt0 crw-rw-rw- 1 root operator 0, 98 May 31 21:01 /dev/acd0 crw-rw-rw- 1 root wheel 0, 128 May 31 21:01 /dev/dsp0.2 crw-rw-rw- 1 root wheel 0, 129 May 31 21:01 /dev/dspW0.2 crw-rw-rw- 1 root wheel 0, 130 May 31 21:01 /dev/audio0.2 crw-rw-rw- 1 root wheel 0, 131 May 31 21:01 /dev/dsp0.3 crw-rw-rw- 1 root wheel 0, 132 May 31 21:01 /dev/dspW0.3 crw-rw-rw- 1 root wheel 0, 133 May 31 21:01 /dev/audio0.3 crw-rw-rw- 1 root wheel 0, 134 May 31 21:01 /dev/dsp0.4 crw-rw-rw- 1 root wheel 0, 135 May 31 21:01 /dev/dspW0.4 crw-rw-rw- 1 root wheel 0, 136 May 31 21:01 /dev/audio0.4 crw-rw-rw- 1 root wheel 0, 137 May 31 21:01 /dev/dsp0.5 crw-rw-rw- 1 root wheel 0, 138 May 31 21:01 /dev/dspW0.5 crw-rw-rw- 1 root wheel 0, 139 May 31 21:01 /dev/audio0.5 crw-rw-rw- 1 root operator 0, 140 May 31 21:01 /dev/pass0 crw-rw-rw- 1 root operator 0, 141 May 31 21:01 /dev/cd0 crw-rw-rw- 1 root wheel 0, 146 May 31 21:01 /dev/ptyp0 crw-rw-rw- 1 root wheel 0, 148 May 31 21:53 /dev/ptyp1
i810_audio 31028 0 ac97_codec 17004 1 i810_audio soundcore 8672 2 snd,i810_audioThe system has an SIS audio system:
0000:00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] Sound Controller (rev a0)So how do I persuade udev to use this? Right now I have no /dev/dsp device. If I manually install some modules I can make the dsp device appear - but surely I shouldn’t have to do that?
root@itchy:~# ls /dev/dsp ls: /dev/dsp: No such file or directory root@itchy:~# modprobe snd_intel8x0 snd_pcm root@itchy:~# modprobe snd_pcm_oss root@itchy:~# modprobe snd_intel8x0 root@itchy:~# ls /dev/dsp /dev/dsp root@itchy:~# ls /dev/dsp -l crw-rw---- 1 root audio 14, 3 Apr 27 10:26 /dev/dsp(Obviously if this is what I’m supposed to do I can add the module names to /etc/modules - it just seems strange to me!)
Message from syslogd@piper at Sat Jan 7 22:53:35 2006 ... piper kernel: Oops: 0002 [18] Message from syslogd@piper at Sat Jan 7 22:53:35 2006 ... piper kernel: CR2: 0000004000000004Since then, I cannot start new processes anymore (though apache2 and old processes work just fine), which means I cannot SSH into the box (which is far away from where I am right now), and thus it's become useless. The problem could be anything: corrupt memory, a broken CPU, a harddrive with bad blocks in the swap area, etc... since Linux obviously seems to be able to wall in response to a problem, I would only wish it wouldn't pout as a consequence but handle the event more gracefully. If only I had the time and energy to finally wave goodbye and choose NetBSD... Update: I managed to get a dmesg output:
<1>Unable to handle kernel paging request at 0000004000000004 RIP: <ffffffff80152c54> find_get_pages+36 PGD 72cee067 PUD 0 Oops: 0002 [18] CPU 0 Modules linked in: rfcomm l2cap ipv6 af_packet ipt_REJECT ipt_state iptable_filter iptable_nat ip_conntrack ip_tables deflate zlib_deflate twofish serpent aes blowfish des sha256 sha1 md5 crypto_null af_key usbhid hci_usb bluetooth raid5 xor dm_mod sbp2 ide_generic ide_cd eth1394 snd_seq_dummy snd_seq_oss snd_seq_midi snd_seq_midi_event snd_seq snd_via82xx gameport snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_mpu401_uart snd_rawmidi snd_seq_device snd i2c_viapro soundcore i2c_core ehci_hcd via82cxxx ohci1394 shpchp pci_hotplug sk98lin uhci_hcd ide_core ieee1394 rtc parport_pc parport floppy psmouse pcspkr serio_raw evdev xfs exportfs sr_mod cdrom sd_mod sata_via sata_promise libata sg scsi_mod raid1 md unix fbcon tileblit font bitblit vesafb cfbcopyarea cfbimgblt cfbfillrect softcursor Pid: 136, comm: kswapd0 Not tainted 2.6.12-1-amd64-k8 RIP: 0010:[<ffffffff80152c54>] <ffffffff80152c54> find_get_pages+36 RSP: 0018:ffff81007f90dcc8 EFLAGS: 00010002 RAX: 0000004000000000 RBX: ffff81007f90dd08 RCX: ffff81007f90dd10 RDX: 0000000000000001 RSI: 0000000000000002 RDI: ffff81000289f678 RBP: 0000000000000000 R08: 0000000000000000 R09: ffff81007113f670 R10: 0000000000000040 R11: 0000000000000000 R12: ffff8100705e54e0 R13: 000000000000007a R14: ffffffffffffffff R15: ffff8100705e55f8 FS: 00002aaaab730d70(0000) GS:ffffffff8040f940(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 0000004000000004 CR3: 0000000072925000 CR4: 00000000000006e0 Process kswapd0 (pid: 136, threadinfo ffff81007f90c000, task ffff81007f906760) Stack: ffff81007f90dcf8 ffffffff8015bca7 ffff8100705e54f0 ffffffff8015c905 ffff810001172200 0000000000000000 0000000000000000 0000000000000000 ffff81000289f678 0000004000000000 Call Trace:<ffffffff8015bca7> pagevec_lookup+23 <ffffffff8015c905> invalidate_mapping_pages+245 <ffffffff8018a403> shrink_icache_memory+259 <ffffffff8012d144> recalc_task_prio+324 <ffffffff8015ca01> shrink_slab+193 <ffffffff8015dcaf> balance_pgdat+623 <ffffffff8015df37> kswapd+295 <ffffffff80144e00> autoremove_wake_function+0 <ffffffff8010f0f7> child_rip+8 <ffffffff8015de10> kswapd+0 <ffffffff8010f0ef> child_rip+0 Code: ff 40 04 ff c2 48 83 c1 08 39 d6 75 f0 fb 5b 89 f0 c3 66 66 RIP <ffffffff80152c54> find_get_pages+36 RSP <ffff81007f90dcc8> CR2: 0000004000000004Now, how does a mere mortal diagnose this? This was the third in a series of oopses, the others occurred in a find process... the machine runs a software RAID5, so it really could be anything, right?
Next.