About DMA mem and IO Server

Martin Schröder martin.schroeder at openlimit.com
Mon May 12 11:51:21 CEST 2014


Am 12.05.2014 09:34, schrieb Taeung:
> Thanks Martin :-)
>
> Referencing website link which you give me , I'm trying to secure
> Ethernet on L4Linux.
> I've got eth0 and configure ip address, netmask , etc.
> But if I do 'ping 8.8.8.8' for test, error occur such as 'Error
> connecting: Network is unreachable'.

Which version of fec_main.c are you using? The one from 
l4re-snapshot-2014022818.tar.xz or another?

> I suspect that the problem is about DMA mem.

Maybe, the buffers and the descriptors reside in the DMA mem, so if you 
can configure FEC but no payload goes thgrough, this could indicate a 
problem.

> As below , there is 'WARNING: phys mmio resource allocation failed' log
> message..
> What is the problem ?

I don't know the reason. But I also get the same WARNING (also twice) 
for each DMAMEM on my board - of course the beginning-end addresses differ.

> May this problem be the reason why network is unreachable  ?
>
> ========================
> ..(omitted)..
>
> IO      | Io service
> IO      | Verboseness level: 4
> IO      | unused physical memory space:
> IO      |   [00000001000000-0000000fffffff]
> IO      |   [00000050000000-000000ffffffff]
> IO      | Loading: config 'rom/imx6q.io'
> *IO      | WARNING: phys mmio resource allocation failed**
> **IO      | <0x1bf18>IOMEM [00000010426000-000000104a5fff 80000]
> non-pref (32bit) (align=7ffff flags=c002)**
> **IO      | WARNING: phys mmio resource allocation failed**
> **IO      | <0x1bf18>IOMEM [00000010426000-000000104a5fff 80000]
> non-pref (32bit) (align=7ffff flags=c002)*
> IO      | P6Device: l4linux ""
> IO      |   P6Device: (noname) "L40009"
> IO      |   P6Device: imx6q-fec.dev0 "imx6q-fec.0"
> IO      | <0x14678>    IOMEM   [00000002188000-0000000218bfff 4000]
> non-pref (32bit) (align=3fff flags=4002)
> IO      | <0x1be28>    IRQ     [00000000000096-00000000000096 1] none
> (32bit) (align=0 flags=4001)
> IO      |   P6Device: dmamem "dmamem"
> IO      | <0x1bf18>    IOMEM   [00000010426000-000000104a5fff 80000]
> non-pref (32bit) (align=7ffff flags=c002)
>
> ..(omitted)..
> ========================
>
> I'd appreciate whoever give me hints.

Did you try to use a 10/100 MBit/s port instead of Gigabit Ethernet? The 
right PHY_INTERFACE_MODE MII / RMII / RGMII is also set according to 
your board (kernel/arch-arm/mach_setup.c)

I would suggest to add some kprintf code in fec_main.c and dump the 
received/sent ethernet buffers. Beginning with fec_enet_bd_init, 
fec_enet_interrupt and fec_enet_tx/_rc to see if the buffers are valid.


> - Taeung -
>
>





More information about the l4-hackers mailing list