★ wanayoo — archive 1999 http://www.linuxcare.com.au/paulus/diary/Nouvelle recherche | Portail wanayoo

Paulus' diary

Friday 4 August

It's now almost a week since I got back from OLS (Ottawa Linux Symposium) which was really good, lots of interesting people to talk to. Tridge spent most of the time hacking on the Vaio picturebook and also on other people's Vaios. It's a bit dangerous really, he looks like he is just hacking away in a corner not paying any attention to anyone and actually the little camera on his Vaio is taking compromising pictures of everybody else in the room. :-)

I hope to be getting an RS6000 44p/270 on loan from IBM some time soon. That's a box with 4 PowerPC 64-bit cpus, about 4GB of RAM and heaps of disk. At the moment the kernel runs in 32-bit mode on the 64-bit PPCs. Hopefully we'll have a 64-bit kernel within the next few months.

Tuesday 18th April

Multilink PPP is working pretty nicely now. It's cute to be able to dial up a second modem and get double the bandwidth. It seems pretty robust except when you take out a link, that still doesn't seem to get cleaned up properly. The combination of packet compression plus losing every second packet really gets ugly. :-)

Started installing Debian-PPC on the iMacDV here. So far it looks pretty good. Stephen and Anton, both Debian enthusiasts, were doing the driving, I'm still on L plates where Debian is concerned.

Saturday 25th March

Last weekend I got the IrDA port working on my old iMac. Yay!! I finally got motivated to actually pull the whole thing apart so I could get at the IrDA codec. I borrowed an oscilloscope and spent an afternoon looking at the waveforms on the signals going in to it - it hangs off an ordinary mac serial port and it is controlled with TxD, DTR and RTS. I put some code in the macserial driver to toggle the lines in the same way and it works just fine. I then tried the same code on my 1999 G3 powerbook and it works there too. This is great, it means that I can now sync my palm pilot to my powerbook over the IR port. I can also talk to my new mobile phone (cellphone) over the IR port and make data calls (or at least, I will be able to once the phone company gets around to enabling them for me).

Tuesday 15th February

Well, it's been a long time since I updated this. The stable kernel (currently 2.2.15pre7) is running pretty nicely now, it supports the new Apple machines (G4, iBook, iMacDV) thanks mostly to Ben Herrenschmidt. Sleep works on my 1999 G3 powerbook and the 3400 powerbook. There are still some video driver issues, though. There has been furious activity in the development kernel series. Linus accepted my patch against 2.3.44-pre8 so 2.3.45 is pretty much up-to-date (just lacking a flush_icache_page).

What else? I got the USB scanner working under Linux just after Christmas. And I got a G4 powermac (350MHz) on loan from Apple Australia (thanks, Apple!) and I wrote a little matrix multiply routine using the Altivec instructions which can go at over 1600 MFlops! :-)

Wednesday 24th November

Found the memory leak in the 2.3 kernels - there was a mistake in include/asm-ppc/pgtable.h that meant that pages used for page tables weren't being freed. Now I can compile kernels on my iMac with 32MB of memory without running out of RAM. The next thing is to do a driver for the scanner.

Tridge is away today so we have elected him boss for today. :-)

Monday 22nd November

Linux pre-patch 2.3.29-3 is out. Unfortunately there is still some sort of bad memory leak in the current 2.3 kernels on powermacs. It's a pain because I would prefer to develop the driver for the scanner using the current 2.3.x USB code.

Friday 19th November

Fixed the USB sniffer! There was a silly mistake in the logic description for the GAL, as well as a NOT that got deleted somehow. It's working well now and I have some good traces from the scanner. Now I just have to write a driver for it. :-)

Thursday 18th November

Caught up on the diary!!! I have been working on usbdump, a little program I wrote to print out the traces from the USB sniffer in readable form. It is apparent that the sniffer isn't handling the bus turnaround very well. It is seeing the sync pattern in the wrong place so we are getting extra bits on the beginning of the packet.

Wednesday 17th November

Merged in various patches into Linux 2.2.14pre6. It looks fine, runs on the iMac and the 7600 at home, with SMP support on the 7600 (the 7600 has a dual-cpu board in it) and on my G3 powerbook. Sent off the patches to Alan Cox. I really need to set up a web page with info about what the state of the linux kernel is on powermacs (yes it's about time, I know :-).

Friday 12th November

Linux 2.3.28 is out already. It's hard to keep up. :-) It needed some hacking to get it to work, for example, someone had taken out the call to init_bootmem. Linux doesn't work very well if you don't have any memory for get_free_page() to return. :-) There seems to be some sort of bad memory leak in 2.3.28, if I do a kernel compile, the free memory just drops down and down (the count of cached and shared pages are low, so it's not the page cache) until the machine starts thrashing.

Wednesday 10th November

I seem to have fixed the problem with the missing bytes from the USB sniffer. Adding small series resisters in the data lines going to the parallel port and terminating the relevant control signals helped a lot. Also there was a problem with the program in the GAL, it was missing putting the end-of-packet code in the FIFO if the last byte needed to be escaped. Getting some good traces from the scanner (being driven by MacOS) now.

Monday 8th November

Starting to get some useful data from the USB sniffer. We seem to be dropping bytes here and there, though. I have given up on the ppdev driver in the 2.3 kernel (/dev/parport0), I get an oops every time I close it. Instead I hacked up a little program (on an intel linux box, yes I know) which accesses the parallel port registers directly and sucks the data in. It would be nice to have a bigger FIFO. With a 4kB FIFO and data coming in at 1.5MB/s (peak rate) we can't even last a clock tick (1/100 s).

Wednesday 3rd November

Got yellowdog installed on the hard disk on the rs6000. Now it can compile its own kernel, which proves that it is all working. :-) Still using a serial console though.

Monday 1st November

Woohoo! Got the interrupt problems sorted on the rs6000, got the kernel booted using an NFS root. Next thing is to install yellowdog on a local hard disk. Still haven't worked the screen out yet, it appears to be a fairly dumb framebuffer.

Thursday 28th October

Did some more hacking on the RS6000. Now I am getting lots of interrupts, in fact a continual stream of them, obviously I'm not acknowledging the interrupt correctly. Back to the 8259 data sheet (what an awful horrible beast it is, I'm so glad Apple never used it in their machines :-).

Wednesday 27th October

Spent the whole day working with Bob Edwards on our USB sniffer. This is a little device we are making which will attach to a USB bus and record the bytes which go past. Had some trouble programming the ispLSI chip correctly because of inadequate ground and power connections and bypassing. A first-year type of mistake, really. :-) After we fixed that we actually got bytes into the FIFO but there is still some problem getting them out.