Weblogs for ajt
A long time ago I wrote a talk for my LUG about udev. The talk is available from my web site, it's now horribly out of date but udev is one of the most popular search terms against my web site. Perhaps I should create an update...
Just before I left work on Saturday I notice the bug in Exim. I ran aptitude update && aptitude safe-upgrade but nothing came down the pipe.
We spent most of Saturday and Sunday in the bathroom painting, and it wasn't until Sunday evening that I logged on and upgraded my boxes. Unusually I'd received an email from my hosting company asking me to upgrade as they felt it so serious.
If you are running Exim 4.69 (the default on Debian Lenny) or older please upgrade your box now if you have not done so already...
Today I spotted a comment that suggested if you have Gig networking - which I do at home - you should increase the transmission queue length to get better performance from your network card. The suggested incantations being:
$ sudo ifconfig ethX txqueuelen 10000
or
$ sudo ip link set ethX txqueuelen 10000
Where X is the NIC you want to increase the setting for.
While I can set something in the /etc/rc.local is there are better place to make this permanent I wonder?
I've long wanted to contribute something to the Debian project. After a recent talk from a Perl/Debian team member I've decided to try and prepare my CPAN modules for inclusion in Debian.
So far my contribution to Debian consists of some articles on this site, the odd bug report and a polo-short I bought once (which included a £1 donation to Debian). I think I can do better.
For the last few days my ADSL service at home has been a little flaky. Over the weekend it, along with the phone line shuddered to a standstill. I've had to move the router into the living room to shorten the phone wiring. That means I now have to run the network over the household wiring back to the office where the computers live. That means I can't use the domestic wiring to get the network to my notebook, but seeing as I now have working WiFi that's not so bad.
I'll have to call BT and get them to fix the BT master socket which seems to be where some of my problems lie. I have a long history with BT, they are not my favourite monopoly... Then I've got to replace the twisted pair cable to the office.
My Novatech V13 has a built-in web cam. According to lsusb I have a ID 5986:0241 Acer, Inc BisonCam, NB Pro webcam, which the kernel identifies and installs the uvcvideo kernel module okay. It assigns a usb input node but doesn't create the proper node in /dev/usb/.
From dmesg:
[ 1331.104021] usb 1-1: new high speed USB device using ehci_hcd and address 2 [ 1331.557105] usb 1-1: New USB device found, idVendor=5986, idProduct=0241 [ 1331.557110] usb 1-1: New USB device strings: Mfr=3, Product=1, SerialNumber=0 [ 1331.557114] usb 1-1: Product: BisonCam, NB Pro [ 1331.557116] usb 1-1: Manufacturer: BISON Corporation [ 1331.557237] usb 1-1: configuration #1 chosen from 1 choice [ 7786.470132] Linux video capture interface: v2.00 [ 7786.480506] uvcvideo: Found UVC 1.00 device BisonCam, NB Pro (5986:0241) [ 7786.480523] uvcvideo: No streaming interface found for terminal 3. [ 7786.481159] input: BisonCam, NB Pro as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1:1.0/input/input12 [ 7786.481507] usbcore: registered new interface driver uvcvideo [ 7786.482055] USB Video Class driver (v0.1.0)
lsusb -v shows:
Bus 001 Device 002: ID 5986:0241 Acer, Inc BisonCam, NB Pro
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x5986 Acer, Inc
idProduct 0x0241 BisonCam, NB Pro
bcdDevice 6.05
iManufacturer 3 BISON Corporation
iProduct 1 BisonCam, NB Pro
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 459
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 14 Video
bFunctionSubClass 3 Video Interface Collection
bFunctionProtocol 0
iFunction 1 BisonCam, NB Pro
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 14 Video
bInterfaceSubClass 1 Video Control
bInterfaceProtocol 0
iInterface 1 BisonCam, NB Pro
VideoControl Interface Descriptor:
bLength 13
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdUVC 1.00
wTotalLength 85
dwClockFrequency 30.000000MHz
bInCollection 1
baInterfaceNr( 0) 1
VideoControl Interface Descriptor:
bLength 18
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Camera Sensor
bAssocTerminal 0
iTerminal 0
wObjectiveFocalLengthMin 0
wObjectiveFocalLengthMax 0
wOcularFocalLength 0
bControlSize 3
bmControls 0x00000000
VideoControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 6
iTerminal 0
VideoControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 4 (SELECTOR_UNIT)
bUnitID 4
bNrInPins 1
baSource( 0) 1
iSelector 0
VideoControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 5 (PROCESSING_UNIT)
Warning: Descriptor too short
bUnitID 5
bSourceID 4
wMaxMultiplier 0
bControlSize 2
bmControls 0x0000043f
Brightness
Contrast
Hue
Saturation
Sharpness
Gamma
Power Line Frequency
iProcessing 0
bmVideoStandards 0x1b
None
NTSC - 525/60
SECAM - 625/50
NTSC - 625/50
VideoControl Interface Descriptor:
bLength 27
bDescriptorType 36
bDescriptorSubtype 6 (EXTENSION_UNIT)
bUnitID 6
guidExtensionCode {564c97a7-7ea7-904b-8cbf-1c71ec303000}
bNumControl 16
bNrPins 1
baSourceID( 0) 5
bControlSize 2
bmControls( 0) 0xff
bmControls( 1) 0xff
iExtension 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 15
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 14 Video
bInterfaceSubClass 2 Video Streaming
bInterfaceProtocol 0
iInterface 0
VideoStreaming Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 1 (INPUT_HEADER)
bNumFormats 1
wTotalLength 291
bEndPointAddress 129
bmInfo 0
bTerminalLink 3
bStillCaptureMethod 0
bTriggerSupport 0
bTriggerUsage 0
bControlSize 1
bmaControls( 0) 27
VideoStreaming Interface Descriptor:
bLength 27
bDescriptorType 36
bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED)
bFormatIndex 1
bNumFrameDescriptors 6
guidFormat {59555932-0000-1000-8000-00aa00389b71}
bBitsPerPixel 16
bDefaultFrameIndex 1
bAspectRatioX 0
bAspectRatioY 0
bmInterlaceFlags 0x00
Interlaced stream or variable: No
Fields per frame: 1 fields
Field 1 first: No
Field pattern: Field 1 only
bCopyProtect 0
VideoStreaming Interface Descriptor:
bLength 38
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 1
bmCapabilities 0x01
Still image supported
wWidth 640
wHeight 480
dwMinBitRate 12288000
dwMaxBitRate 12288000
dwMaxVideoFrameBufferSize 614400
dwDefaultFrameInterval 555555
bFrameIntervalType 3
dwFrameInterval( 0) 555555
dwFrameInterval( 1) 666666
dwFrameInterval( 2) 1000000
VideoStreaming Interface Descriptor:
bLength 38
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 2
bmCapabilities 0x01
Still image supported
wWidth 320
wHeight 240
dwMinBitRate 3072000
dwMaxBitRate 3072000
dwMaxVideoFrameBufferSize 153600
dwDefaultFrameInterval 333333
bFrameIntervalType 3
dwFrameInterval( 0) 333333
dwFrameInterval( 1) 666666
dwFrameInterval( 2) 1000000
VideoStreaming Interface Descriptor:
bLength 38
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 3
bmCapabilities 0x01
Still image supported
wWidth 160
wHeight 120
dwMinBitRate 768000
dwMaxBitRate 768000
dwMaxVideoFrameBufferSize 38400
dwDefaultFrameInterval 333333
bFrameIntervalType 3
dwFrameInterval( 0) 333333
dwFrameInterval( 1) 666666
dwFrameInterval( 2) 1000000
VideoStreaming Interface Descriptor:
bLength 38
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 4
bmCapabilities 0x01
Still image supported
wWidth 352
wHeight 288
dwMinBitRate 4055040
dwMaxBitRate 4055040
dwMaxVideoFrameBufferSize 202752
dwDefaultFrameInterval 333333
bFrameIntervalType 3
dwFrameInterval( 0) 333333
dwFrameInterval( 1) 666666
dwFrameInterval( 2) 1000000
VideoStreaming Interface Descriptor:
bLength 38
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 5
bmCapabilities 0x01
Still image supported
wWidth 176
wHeight 144
dwMinBitRate 1013760
dwMaxBitRate 1013760
dwMaxVideoFrameBufferSize 50688
dwDefaultFrameInterval 333333
bFrameIntervalType 3
dwFrameInterval( 0) 333333
dwFrameInterval( 1) 666666
dwFrameInterval( 2) 1000000
VideoStreaming Interface Descriptor:
bLength 30
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 6
bmCapabilities 0x01
Still image supported
wWidth 1280
wHeight 1024
dwMinBitRate 26214400
dwMaxBitRate 26214400
dwMaxVideoFrameBufferSize 2621440
dwDefaultFrameInterval 1333333
bFrameIntervalType 1
dwFrameInterval( 0) 1333333
** UNRECOGNIZED: 12 98 05 02 76 2f 12 98 05 02 76 2f 90 91 97 e0 b4 05
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 14 Video
bInterfaceSubClass 2 Video Streaming
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x1400 3x 1024 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 14 Video
bInterfaceSubClass 2 Video Streaming
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x1400 3x 1024 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 3
bNumEndpoints 1
bInterfaceClass 14 Video
bInterfaceSubClass 2 Video Streaming
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x1400 3x 1024 bytes
bInterval 1
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
Now to find out how to fix it all.
At the end of last year I bought myself a cheap Novatech V13 laptop. It was a bit cutting edge, so the JMC25X Ethernet required a newer kernel from Debian SID and there still is no official support for the Realtek WiFi card in a Debian kernel yet. I've had the unit over 6 months and I'm really happy with it, I've even got WiFi working (in theory).
I suppose I should now fill in a Linux on Laptops report now....
We have now moved in and settled into our new home. Tomorrow a friend's brother will be putting a channel in the wall to run a 15 mm gas pipe down. Then the gas fitter will run a gas line from the mains feed into the kitchen and connect it to the cooker and we'll be able to eat real food again! Progress is slow but we are making progress.
After the essential work the real planning begins on the mains wiring which needs refreshing and installing CAT-6a throughout the house, and underfloor heating with proper parquet floor on top...
Once it's all done I'll skint but happy.....!
At the moment I'm back on line at home. It's amazing how much you miss not being on-line. Traditional media like the wireless* and TV are only so useful, plus their science and technology coverage is utterly dire...
Anyhow we signed for the new house, and the solicitor will do the contract exchange dance next week (we hope) with completion following a few weeks or so later. Then we'll be off-line again while BT drag their feet on that move...
* Yes I know wireless is a very old word for radio, but I think it's a nicer sounding word.
We moved house this month and we're still off-line at home. That means I can only email and do web stuff from work, which is much more limited and I don't do as much.
If all all goes well my ISP will hook us up again with ADSL just in time for the next move into the house we intend to buy. Joy of joys! Once we own our own home it's time to get structured CAT-6 installed throughout and build a proper mini-server room...