RidgeRun LeopardBoard SDK Hints
Solutions to known issues
'division by zero' in kernel error when I try to use ALSA input
This is a known issue that has been discussed on the ASOC mailing list. The problem is that the function davinci_pcm_enqueue_dma performs this operations:
data_type = prtd->params->data_type; count = period_size / data_type;
The first time, data_type is set to zero, so we get the error Division by zero in kernel. This is the reason why the pipe arecord | aplay works after running arecord or aplay first.
Apply the Media:Asoc-davinci-pcm.patch to the kernel 2.6.29 to resolve this issue.
'Kernel panic' Unable to mount root fs when using NFS
This issue happens when NFS file system is used. Leopard Board does not have a MAC address assign, this issue can be detected by taking a look into the kernel log after booting the board:
1. MAC address is set to 00:00:00:00:00
[42949373.950000] dm9000 Ethernet Driver, V1.31 [42949374.080000] dm9000 dm9000: eth%d: Invalid ethernet MAC address. Please seg [42949374.080000] eth0 (dm9000): not using net_device_ops yet [42949374.090000] eth0: dm9000e at c780c000,c7810016 IRQ 73 MAC: 00:00:00:00:00)
2. Kernel panic error
[42949465.940000] Kernel panic - not syncing: VFS: Unable to mount root fs on u)
There are different ways of solving this issue:
1. Forced the leopard to get a MAC address: run the ping command in the u-boot console:
Leopard Board # ping <ip_address> or Leopard Board # setenv bootcmd="ping 192.168.1.1;nboot KERNEL"
2. Apply the Media:mac_address.patch that generates a random MAC address for the leopard.