We have some problems of Ehternet connection in the following environment.
i.MX6 solo
Linux 3.0.35
PHY:LinkStreet(88E6176)
When the packet of Ehternet is received, Rx intrrupt does not occur.
A "Marvell" tag is added to the header of Rx Data.
Therefore, I think that iMX cannot recognize a Mac address and interrupt does not occur.
Is my understanding corrrect?
If PromiscuousMode is enabled, Rx interrupt occurred.
However, kernel can receive only the data after 12 byte from a head.
(MAC of Distination and source is unreceivable.)
Please let me know about the following.
1. When Data is Received, Is iMX comparing MAC of the received packet and own?
2. Are There Some Methods of Receiving without Filter of the Mac Address? Is it only PromiscuousMode?
3. Does PromiscasMode only set PROM of ENET_RCR reg to Enable? Are other operations required?
4. Can a Mac address be set up any value?
@The MAC can be set to anything but there are basic rules such not matching the MAC of any other adapter in its network, and not being set to zero (00:00:00:00:00). MACs usuqally assigned by an authoritative committee (IANA & IEEE). But for experimenting you can set it to a value that works. This can be done by setting 'ethaddr' in U-Boot. (setenv ethaddr=xx:xx:xx:xx:xx) and depending on the Linux being used it can be set in the adapter's config file "HWADDR=xx:xx:xx:xx:xx"
PromiscuousMode would allow any data to be 'received' irregardless of the MAC address. In Linux (depending on the distibution) it can be set either via a configuration file or temporarilly by setting 'ifconfig eth0 --promisc' Otherwise in a non promiscuous mode the MAC is evaluated and comapred to the local adapter (at the data layer) and if it doesn't match it is not passed up the stack.
Does PromiscuousMode only set PROM of ENET_RCR reg to be enabled? Are other operations required?
If everything else is set up properly toggling that bit (in that register) should toggle promiscuous mode.
Hi t_kaz,
1. Yes, Please read reference manual (section 23.5.4.3)
2. 3. Yes, promiscuous mode (RCR[PROM] = 1). Please read reference manual.
4. MAC address can contain almost any value, but you must understand rules. For more info, you can begin on MAC address - Wikipedia, the free encyclopedia
Regards,
Jozef
Thank you for your reply.
I want to receive only the packet which the MAC Address matched.
(promiscuous mode is disabled).
However, since the Marvell tag is added to the head of the packet, it is unreceivable.
Is there any method of removing Marvell tag and comparing a MAC Address?