view all posts by Greg Lehey

No day for computing

Greg Lehey Posted by Greg Lehey | Sat, 02 Mar 2013
see the original posting from Greg's diary

Somehow things didn't go well today. It started when I came in and found a message from Wolfgang Riegler telling me of an incorrect dependency in the enblend port. Fixed that and got Edwin Groothuis to commit it, and he then discovered that removing the port left an empty directory behind. Normally that's handled by a @dirrm line in the pkg-plist file, but this port doesn't have a pkg-plist: it's all in the Makefile. Spent some time reading the porter's handbook without finding out how to remove a directory. Should I revert to a pkg-plist after all? It makes sense to minimize the number of files in a port, since they're all small, usually smaller than the minimum fragment size. There are 16719 pkg-plist files in the Ports Collection, using a total of 174.3 MB, of which only 145 MB are useful data.

But how do to it? The ports collection has reached an incredible complexity. On the tuit queue.

And then I have an issue with my new mouse. I've mapped button 4 (or is that 9?) to button 2, the one that all mice used to have, and which has now been replaced by a scroll wheel. But the scroll wheel on this mouse has switches that are activated by pushing left or right on the rim of the wheel. And left is button 2. In principle, this is what I want. In practice, it's far too sensitive, and I continually have the mouse vomiting over some window or another when I move it. Time to remap that button.

That should be straightforward enough. moused runs the mouse with this invocation:

usr/sbin/moused -m 2=4 -p /dev/ums0 -t auto -I /var/run/moused.ums0.pid

The -m 2=4 tells moused to map physical button 4 to logical button 2. So how about this?

usr/sbin/moused -m 2=4 -m 4=2 -p /dev/ums0 -t auto -I /var/run/moused.ums0.pid

Tried that out, and for some reason it didn't work. While I was experimenting, the mouse stopped working At All. It wasn't the mouse itself: it still worked in text windows (/dev/vtyX). So it was something to do with X. And about the first thing I'd suspect is hald, the hardware abstraction layer daemon. But that was running. How do I restart it? The canonical way to restart system services is a script in /etc/rc.d, but I couldn't find anything there. Nothing helped; in the end I had to reboot, something I hate doing. And it still didn't work. But then, it never does the first time you start X after a boot. On the second attempt it did. Somehow there's too much flakiness in this area.

I later realized that hald is a port, and so the start script is /usr/local/etc/rc.d/hald. But by then I had rebooted, and discovered a couple of additional processes:

UID  PID PPID CPU PRI NI   VSZ  RSS MWCHAN STAT TT     TIME COMMAND
 560  1792     1   0  20  0   45084   5848 piperd   Is   ??     0:07.78 /usr/local/sbin/hald
   0  1799  1792   0  20  0   31296   4192 select   I    ??     0:00.05 hald-runner
   0  1848  1799   0  52  0   24216   2776 kqread   I    ??     0:00.01 hald-addon-mouse-sysmouse: /dev/ums0 (hald-addon-mouse-sy)

Somehow hald-runner and hald-addon-mouse-sysmouse had silently died during my testing. Why?

As if that wasn't enough, my network connectivity once again went to hell. At one point found:

Mar  2 16:04:01 eureka fstats: Cell found: -> 81e3 8fc48e8
Mar  2 16:04:01 eureka fstats: Cell lost: 81e3 8fc48e8 (6)
Mar  2 16:04:01 eureka fstats: Cell found: -> 81e3 8fc48e8
Mar  2 16:04:02 eureka fstats: Cell lost: 81e3 8fc48e8 (6)
Mar  2 16:04:02 eureka fstats: Cell found: -> 81e3 8fc48e8
Mar  2 16:04:02 eureka fstats: Cell lost: 81e3 8fc48e8 (6)
Mar  2 16:04:02 eureka fstats: Cell found: -> 81e3 8fc48e8

The (6) is the RSSI, which is adequate, so it's not a signal strength issue. I'm pretty sure that this is confusion in the modem firmware caused by excessive jumping, and power cycling the modem cured it. But although I had a connection the whole time, connectivity was terrible. I saw a new record for latency:

64 bytes from 203.10.76.45: icmp_seq=215 ttl=55 time=381811.907 ms
64 bytes from 203.10.76.45: icmp_seq=216 ttl=55 time=380851.412 ms
64 bytes from 203.10.76.45: icmp_seq=217 ttl=55 time=379869.812 ms

That's 6 minutes, 22 seconds. A high-speed carrier pigeon could do better.

Clearly I should have been doing something else today.


see the original posting from Greg's diary

Back to top