1. New multi I/O card installed

    Some days ago I exchanged my MOS9835 based I/O card with newer version based on MOS9845. Old one had one parallel port (which I never used) and two serial ports. New one do not have parallel port but has 6 serial ports instead. Why so much?

    The answer is simple — more devices on desk require more ports. I could go into USB-serial adapters and buy bunch of them and create set of udev rules to make them stick with device node names. But I read too many stories when such adapters works when 2 of them are used but adding 3rd breaks config. So I bought PCI card.

    Is it useful? Yes, it is. Does it add new problems? Few, but simple ones.

    First problem is to get proper numbering of ports. As mainboard used in desktop has one serial port already I wanted it to be /dev/ttyS0 and additional ones to be /dev/ttyS[1-6]. But fun starts in kernel config…

    There are few options which controls amount of serial ports in total (named CONFIG_SERIAL_8250_NR_UARTS) and amount of runtime registered ports (named CONFIG_SERIAL_8250_RUNTIME_UARTS). To get sane numbering I had to play with those values a bit. I set NR_UARTS to “10” (just in case) and then RUNTIME_UARTS to “7” so ports works like I wanted.

    Next thing is guessing which port is which ttySx node. I did that by connecting devices and checking with “picocom” which one is which. Now connectors are signed with number on one side :D

    Serial cables needs to be described
    Serial cables needs to be described

    Last thing was adding names to device nodes as it is easier to use /dev/ttyALIX then remember that Alix is connected to /dev/ttyS2 port. So currently I have this config:

    Port device
    ttyS1 BeagleBoard
    ttyS2 Alix.1c
    ttyS3 not used yet
    ttyS4 at91sam9263ek
    ttyS5 atngw100
    ttyS6 edb9301

    I use also serial cable with BUG but as it has female connector I use USB adapter with it. Have to buy female->male cable for it so it will use ttyS3…

    This is how it looks on desktop side:

    Connectors jungle in my desktop
    Connectors jungle in my desktop

    And one more thing — few readers suggested to use cards which adds 8 serial ports. I have to admit that I was thinking about it but decided against it. I already have lot of cables under desk and adding such hydra (card connector -> 8 cables with DB9 connector) would make it even harder to organize.

    Next cables to organize would be network — each device on desk wants at least one Ethernet cable…

    Written by Marcin Juszkiewicz on
  2. Powering all devices

    On my desk I have lot of things which require power. USB hubs, developer boards, customer devices etc. So far I counted 3x12V (ngw100, at91sam9263ek, edb9301) and 4x5V (usb hubs, beagleboard, bug). I do not count under desk devices because there is more space so extra cables from power supplies are not a problem (voltage is more problem as they use 6V, 9V or other less popular ones).

    How to power all of them? So far I use few 5V power adapters (originally made for Sharp Zaurus, HP iPaq or usb hubs) and one 12V one (so only one 12V devboard at time). This has to end as it occupy too much space and power sockets.

    So I bought old 200W ATX power supply in local computer shop specialised in old devices and parts from them. It is small but works. Now I need to buy few meters of cables (two colours — one for 12V and other for 5V) and do soldering job. The good thing is that ATX PSU require shorting just two cables to power up (PS ON with GND).

    Written by Marcin Juszkiewicz on
  3. EDB9301 hacking

    Today I visited friend at his office and during talk I found dusted EDB9301 board at shelve. As he do not use it any more I was allowed to take it for experimenting.

    First problem was bootloader — I am not so familiar with RedBoot so it took me a while to get it to load kernel from TFTP server. For reference: proper command is "load -v -r -b 0x01000000 /zImage-ep9301" where “/zImage-ep9301” is name of file to fetch. If you will get “Unrecognized image type: 0xe1a00000” message instead then you forgot “-r” switch (RedBoot do not know format of zImage kernel). I got some hints from HitchHacker Guide to ENP-2611 page.

    Second was Linux kernel as support for EDB9301 was not present in 2.6.29 version. Quick search on LAKML gave me patch which adds EDB9301 support. But even with this patch kernel does not wanted to boot due to different machine ID (454 instead of 462) — small patch to “arch/arm/tools/mach-types” solved problem :D

    Now I have board booted with root over NFS and wait for “base-image” build to end to have rootfs which will fit that device better then Openmoko one ;D

    EDB9301 board
    EDB9301 board
    Written by Marcin Juszkiewicz on
  4. OMG! (aka BeagleBoard + LCD)

    Today I finally connected BeagleBoard to LCD monitor — Samsung Syncmaster 205BW (20” 1680x1050px) which now works as my secondary display.

    I can say one thing about how it works: OMG! This is fast, nice looking and shows power of OMAP3 graphics capabilities. Did not tried 3D acceleration yet (it works under Ångström) but even without it it is amazing!

    Now I have 1280x800 resolution and so far tested playing of video files. DVD images (DivX encoded) works nice, 720p are not so usable but BB is at least capable to generate jumping preview.

    After Easter I plan to spend more time hacking BeagleBoard platform. It shows where the future of small devices is. Now let TouchBook appear on market and I will definitely buy one.

    Written by Marcin Juszkiewicz on
  5. New architecture on my desk

    Yesterday I unpacked Atmel NGW100 developer board. It is simple board without any whistles etc. but result is cheap device for those who wants to play with AVR32 architecture.

    Board contains:

    • one serial port (female instead of male)
    • two Ethernet ports (I got 40Mbps with iperf)
    • USB device port
    • SD/MMC socket
    • JTAG connector
    • 32MB sdram
    • 16MB flash
    • few expension connectors with extra signals
    • footprint for mictor-38 connector for NEXUS emulator

    And this is how it looks on my desk:

    Atmel NGW100 board
    Atmel NGW100 board

    I had to connect it like that because of female serial port I had to plug it directly to FTDI adapter because I lack straight serial cable :D

    Written by Marcin Juszkiewicz on
  6. How many serial ports are enough?

    My desktop has few RS232 ports:

    • one FTDI RS232-USB converter
    • one connected to mainboard
    • two on additional PCI card (which also gives me parallel port)

    When I got BeagleBoard I had to remove the one connected to mainboard — connected that cable to BB itself. But today I got new package from Atmel: NGW100. And it means need for serial port too…

    What for I use all those ports? Developer boards of course :)

    • BUG
    • BeagleBoard
    • At91sam9263-ek from Atmel
    • NGW100 from Atmel

    To end that crazy situation I am planning to buy extended version of card which I use now but with 6 rs232 ports instead of just two. Will lose parallel port but I never used it and if will ever need it there will be a card with it somewhere in drawer/box.

    I never thought that will need so many serial ports…

    Written by Marcin Juszkiewicz on
  7. BeagleBoard in a box

    Some time ago I got BeagleBoard for one project. It is B7 revision so new version of CPU (with ES3.0 whatever it means) but without EHCI USB port.

    Device is nice and powerful but default package comes without any accessories. So I had to check my drawers for some addons:

    • SD card for rootfs (I use 2GB microSD one from my cellphone with adapter from other card)
    • serial adapter (I took one from my desktop machine which had 3 serial ports anyway)
    • power supply (got 3.5A one from friend)
    • USB Host cable (hacked normal A->miniB cable to behave like host one with gender changer adapter)
    • some kind of stand/legs to not keep board directly on table

    Effect was good — board started, found USB hub and devices connected to it (currently only Ethernet adapter and Bluetooth dongle) and works fine. But using it with all wires floating is not good for longer time.

    So I bought metal case for it:

    BeagleBoard in a box
    BeagleBoard in a box

    It is not finished at all — I just mounted BB and made holes for audio connectors. Current todolist:

    • cut some holes for connectors
    • put USB hub inside
    • make short USB host cable
    • put USB Ethernet inside
    • one power supply for BB and Hub

    After all there will be still lot of space inside :D

    Written by Marcin Juszkiewicz on
  8. X11 slowness on vortex86sx

    Today I played a bit with Vortex86sx based device again. This time I wanted to get X11 working on it.

    In short: it “works”. Default driver should be “sis” but it fails with messages which shows that libpciaccess has a problem on that device:

    (EE) SIS(0): Unable to map IO aperture. Invalid argument (22)
    (EE) SIS(0): **************************************************
    (EE) SIS(0):                       ERROR:
    (EE) SIS(0): Could not map MMIO area
    (EE) SIS(0):                   END OF MESSAGE
    (EE) SIS(0): **************************************************
    (EE) SIS(0): **************************************************
    (EE) SIS(0):                       ERROR:
    (EE) SIS(0): SiSMapMem() failed
    (EE) SIS(0):                   END OF MESSAGE
    (EE) SIS(0): **************************************************
    

    I switched to “vesa” driver — it works, gives 1280x1024 resolution. But it is so sluggish… Even my few years old Zaurus c760 is faster (I checked how Vortex86sx works with VGA resolution).

    Tried also “fbdev” driver — same slowness. All was done with full X.org server not “kdrive” one.

    Written by Marcin Juszkiewicz on
Page 59 / 106