2.01 Trouble Reports

CRIS USB support in Linux 2.6

Problem: The CRIS USB support in Linux 2.6 should be considered unstable.

Solution: If USB is of great importance, please use Linux 2.4 for now.

Red Hat 7.3 and gcc-2.96-110

Problem: During test of the 2.01 release, it was observed that Red Hat 7.3 with gcc of at least version gcc-2.96-110 miss-compiles the flash loading program such that it doesn't recognize the “magic numbers” of the flash files.

Solution: As this is an old distribution we recommend upgrading to a newer distribution, or if that's not an option, to a later version of gcc (gcc-3.2 should be fine).

pmake version 2

Problem: Some users have reported that newer versions of pmake (e.g., 2.1.35) appear to have problems with the build system.

Solution: A possible solution is downgrading pmake. Version 1.45 (used in Fedora) and 1.98-3 (used in Debian) should work.

Fedora Core 2

Problem: During test of this release, it was observed that Fedora Core 2 had problem compiling some of the applications in the SDK.

Solution: For now we recommend to upgrade to a newer distribution.

The 2Mbyte version of Developer board LX

Problem: The old 2Mbyte version of Developer Board LX is currently not supported. The product alternative “Developer Board LX” will create a firmware image that does not fit in the 2Mbyte flash.

Solution: To be able to use a 2Mbyte card with this release the partition table has to be altered and some programs deselected. This can be done from the top-level configuration: “make menuconfig”.

Booting problem with no selected debug port in Linux 2.6

Problem: If the debug port is disabled in Linux 2.6.12 (and possibly earlier) the kernel does not boot.

Solution: Add the following two lines in the os/linux-2.6/arch/cris/arch-v10/kernel/debugport.c file.

@@ -564,6 +567,8 @@ etrax_console_device(struct console* co,
 	if (port)
 		*index = port->index;
+	else
+		*index = 0;
         return port ? serial_driver : &dummy_driver;

Upgrading developer board 82 & LX and device server 83

Problem: Upgrading the factory default image (release 1.91 for developer board/device server 82/83 and 2.2.0 for developer board LX) to SDK 2.01 will fail on the following methods:

  • ftp flashing with target:
    • flash
    • flash_all (older versions of the flash_all target does not behave in the same way as in newer releases)
  • network boot flashing using:
    • the “flashit” script
    • “boot_linux” with the –f flag

The reason is that these earlier releases make use of jffs and 2.01 uses jffs2. In addition the partition sizes have been changed for the developer board LX. As a consequence of this the rescue partition has to be rewritten, however, none of the methods above rewrites the rescue partition. If any of the methods above are used the board will not boot as the partition integrity check will fail, the symptom is fast blinking status leds.

Solution: The developer board has to be flashed with the normal network boot method which requires a functional SDK. Read more about how to install the SDK here: Software Distribution Install HowTo

With the SDK installed you can either produce an own image or you can flash the card with the image from the developer website. To flash the card:

  • Connect it to the computer (via a hub or switch)
  • Set it in network boot mode by holding down the network boot button while releasing the reset button or turning the power on.
  • Run the flashitall script or “boot_linux –F –i fimage”. Append –d <Ethernet interface> if the developer board isn't connected to eth0 on your computer.

When you flash the board with the flashitall option you will overwrite the rescue partition where the serial number (and hence the MAC address) is stored. To restore the serial number, run “bootblocktool -a SERNO 00408Cxxxxxx” in a shell on the board. Exchange the xxxxxx with the last digits of your serial number which you should be able to find on a sticker on the board.

Serial driver bug in Linux 2.6.12

Problem: So far two bugs have been discovered in the serial port driver in Linux 2.6.16, distributed in SDK 2.01.

The first bug is failure to release the DMA irq. The symptom is the following output in the log:

DMA irq 'serial 0 dma rec' busy; falling back to non-DMA mode

The second bug is due to changes in the kernel whereas Linux 2.6 now expects the serial driver to provide a tiocmset method which the driver distributed in SDK 2.01 lacks. The symptom of this bug is that ioctl returns with 'Invalid argument'.

Solution: Download the updatedcrisv10.c driver and replace os/linux-2.6/drivers/serial/crisv10.c with it.

Flashing of the Ethernet activity led on developer board lx and Linux 2.6

Problem: The Ethernet activity led appears not to be enabled the first few minutes after boot when running Linux 2.6 on the developer board lx. However, after a few minutes the Ethernet activity led starts to flash when transmitting or receiving packets as expected.

Solution: Assigning a value to the ‘led_next_time’ variable during the initializing of the Ethernet hardware appears to solve the problem.

--- eth_v10.c   2005-12-05 16:21:52.000000000 +0100
+++ /home/karljope/devboard-R2_01/os/linux-2.6/drivers/net/cris/eth_v10.c       2005-12-05 14:57:01.000000000 +0100
@@ -607,6 +607,9 @@
        /* unwanted addresses are matched */
        *R_NETWORK_GA_0 = 0x00000000;
        *R_NETWORK_GA_1 = 0x00000000;
+       /* Initialize next time the led can flash */
+       led_next_time = jiffies;
        return 0;

Kernel configuration with xconfig broken

Problem: It has been discovered that configuring Linux 2.4 with the xconfig target will erase the hardware setup settings. Hence using the “make -C packages/os/linux-2.4 xconfig” command will render a faulty os/linux/.config file.

Solution: To operate safely use the menuconfig target instead to alter the kernel 2.4 configuration:

make -C packages/os/linux-2.4 menuconfig

2.01_trouble_reports.txt · Last modified: 2008/11/27 10:31 by jesper
All text is available under the terms of the GNU Free Documentation License (see Copyrights for details).