Versão em Português

First Real Experiments with the TS7300

Rec 27-jan-2008 15:11

Despite being a little old, the 2.4.26 kernel that comes default with the TS7300 would be quite usable weren't it from the fact that it comes a little barren -- it doesn't even come with iptables. Compiling a new 2.4.26 kernel wasn't too hard -- there's a nice pre-packaged cross compilation toolchain. I patched ebtables in, activated it, activated iptables and they worked quite fine -- not only did they compile, but I installed the userspace utilities and tested that they did what they were supposed to.

Adding smbfs made me run into a link failure with a missing do_div64 function. I took an advice from Matt Godbolt's blog and copied the linux/arch/arm/lib/div64.S file and changed the Makefile to have it compiled and linked in.

At Tempest we use very customized 2.6 kernels with vservers, grsecurity, IMQ, DRBD, truecrypt and other goodies. I wanted to see how many similar features I could cram into that 2.4 kernel. I found one of many IMQ implementations that happened to patch almost perfectly (I did have to throw in a missing #include but otherwise worked just fine.) DRBD-0.7 also worked without a hitch, although I did have to manually enable the generic find_next_bit implementation. (DRBD-8, on the other hand, works only with 2.6 kernels.) Now, TrueCrypt doesn't work on 2.4, but loop-AES provides similar functionality and it worked out of the box, no manual tweaking needed.

An old vservers-1.28 patch compiled ok, but I couldn't get the userspace utilities to build. Perhaps I'll later try compiling it all again using self-hosting instead of cross-compiling -- at that point I was doing more leisure exploration that actual work, given that at least for now I don't think I'll be needing virtual server capabilities. I didn't try grsec for now either, even though I'm curious to see if it works under the ARM architecture (it did work under the SPARC architecture on an old Ultra 5 I had).

So, if you want a 2.4.26 kernel with iptables, ebtables, IMQ, and prebuilt modules for DRBD-0.7 and loop-AES, look no further than my 2.4.26-ts11-k2 release: here are the precompiled kernel and modules binaries (vmlinux.bin + /lib/modules/2.4.26-ts11-k2) and a patch from TS's ts11 version to mine.

One thing that didn't work for me was the bootload utility -- a combo module+userspace utility the guys at Technologic Systems wrote that does something similiar to kexec -- it allows us to boot to another operating system (Linux or otherwise) from within Linux itself. Perhaps I'm doing a really silly mistake, because I've read so many reports that it works flawlessly.

Another thing that didn't work was my GSM minimodem, even after I made a powered USB cable. I get repeated USB conection/disconnection messages like:

hub.c: new USB device not_pci-1, assigned address 4
ttyACM0: USB ACM device
usb.c: USB disconnect on device not_pci-1 address 4
hub.c: new USB device not_pci-1, assigned address 5
ttyACM0: USB ACM device
usb.c: USB disconnect on device not_pci-1 address 5
hub.c: new USB device not_pci-1, assigned address 6
ttyACM0: USB ACM device
usb.c: USB disconnect on device not_pci-1 address 6
hub.c: new USB device not_pci-1, assigned address 7

That's kinda bad, because GRPS/EDGE connectivity is one of my requisites. Gotta think on a plan B.

I also learned that TS offers a product based on the TS7300 called TS-COMBOX with 25 serial ports -- precisely what I wanted to achieve by reprogramming the FPGA. I can still do that, but I would have to start from scratch -- the TS-UARTs, SD card and video cores are proprietary; the code posted on OpenCore's site has only the ethernet MAC core.

As Captain Nascimento would put it, "who says life is easy?"

Kiko > PostsInEnglish > EnBlogEntry2008Jan27A
Creative Commons License   The content of this site is made available under the terms of a Creative Commons License, except where otherwise noted.
  O conteúdo deste site está disponibilizado nos termos de uma Licença Creative Commons, exceto onde dito em contrário.