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'.
I suspect that the problem is about DMA mem.
As below , there is 'WARNING: phys mmio resource allocation failed'
log message..
What is the problem ?
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.
- Taeung -
On 05/10/2014 06:39 PM, Martin Schröder wrote:
Hi
Taeung,
this DMAMEM block is mandatory for devices writing/reading
directly into/from RAM.
Maybe you'll have a look into another board patchset:
http://fooprotected.wordpress.com/2012/04/12/l4linux-patch-for-mv643xx-ethernet/
and also here:
https://github.com/Ksys-labs/L4Reap/blob/master/files/gumstix-fb-l4l.io
Best regards,
Martin
Am 09.05.2014 19:34, TaeWoong Song schrieb:
Thanks for your advice ,Martin !!
I understand what you mean.
So, I'm modify source code according to imx6's single Ethernet.
Up to now, FEC Ethernet Driver has been initialized and eth0 has
been secured in L4Linux.
But I didn't succeed it yet.
Do I have to need to get DMAMEM ?
Or, is it fine that I omit DMAMEM ?
However, your patch has been being very helpful to me.
I'll continue securing Ethernet in L4 Linux.
- Taeung -
On May 9, 2014, at 10:12 PM, Martin Schröder
<mschroeder@web.de> wrote:
Just a short addidion:
I just had a short look into the freescale spec: The i.MX6 you
are using has only a single Ethernet, my i.MX28 has dual
Ethernet. So you can skip everything I wrote abot the second
PHY connected to the MDIO bus of the first FEC. And you can
also remove all lines related to the Dummy-PHY (your Question
5) and turn CONFIG_FIXED_PHY off.
Best regards,
Martin
Gesendet: Mittwoch, 07. Mai 2014 um 16:57 Uhr
Von: "Martin Schröder" <mschroeder@web.de>
An: Taeung <treeze.taeung@gmail.com>
Betreff: Re: May I ask you questions about your path?
Am 07.05.2014 16:08, schrieb Taeung:> Hi, Martin :-)
Sorry, I take up your time.
no problem :-)
May I ask you questions about your
path?
Question 1. In 'imx28.io' file , what mean 'DMAMEM' and
'new-res
Mmio_ram()' ?
I know that 'Mmio()' need arguments which are start and end
address.
But, I don't know 'Mmio_ram()'.
I already answered your question on the list :-)
you'll find also another reference in the list-archive:
<20111117204103.GC13416@os.inf.tu-dresden.de>
Am 17.11.2011 21:41, schrieb Adam Lackorzynski:> On Thu Nov
17, 2011 at 12:49:31 +0400, Sartakov A. Vasily wrote:
So..
usb host via ehci uses dma and i have problem in
pool_alloc_page(mm/dmapool.c):
dma_alloc_coherent (arhc/l4/mm/) returns 0, cos
l4x_dma_mem_alloc
returns 0 too.
I guess you need to put some 'dmamem' onto your vbus:
DMAMEM => new Device()
{
.hid = "dmamem";
new-res Mmio_ram(<size-in-bytes>, 0);
}
Adam
Question 2. What is namespace 'shmns'
?
local shmns = loader:create_namespace({shmns = "shmns"});
(line 69)
shmns = shmns:mode("rw"), (line 89)
I am using the l4shmnet network driver to connect two l4linux
instances by a virtual network. This driver is based on shared
memory, which I assign to both instaces. You'll see the other
reference in the linux kernel command lines where this
l4shmnet.add=shmns.add=shmns,maxpart=0x12/0x14 is added.
Question 3. In fec_main.c , '#define
clk_get_rate(x) 151000000' (line
312, 349)
How do you know '151000000' ?
Do you found in imx28 data sheet or other document ?
I calculated it backwards. In fec_main.c you'll find "Seet MII
speed to 2.5 Mhz (= clk_get_rate() / 2 * phy speed)". So I
grabbed the divisor (read out the memory in U-Boot) and
multiplied it accordingly to get those 2.5 Mhz. But you could
also insert some kdebug("%d\n",clk_get_rate()), compile for a
native linux and insert this value instead :-)
Question 4. At line 323, why every
variables is NULL ?
I have no L4-support for the clocing distribution (not within
the address space of the fec chip). So clocking the fec is
done in U-Boot
Question 5. At line 260, what mean
'.link' and '.speed', .duplex ?
I set up a virtual "dummy" phy on the second FEC device if
this is in another L4 than the first FEC. So this phy should
always report "link up", "100 MBit/s" and "full duplex" to the
ethernet driver.
Martin