A flow path for ethernet kernel driver

Airton Ishimori nobumasa.bcc at gmail.com
Tue May 19 10:08:03 EDT 2015


Yes, but for some reason (appearently) the object codes were not being
updated or part of the object wasn't being linked to the newest object
code.
So, I thought my printk was not executing and the current module being
executed wasn't the newest one.

In order to speed up the compilation process, I thought I could only
compile the piece of codes that I wanted to.
I was doing *make net** && make modules* after compiling the kernel for the
first time, but when I tried to make the full compilation again by typing *make
&& make modules*,
things went okay. The printk was ok at this time, but I also adjusted the
debug level for getting more debug information as pointed out by Nick and
Rami.

Thanks for replying!.


*--*Airton Ishimori


On Tue, May 19, 2015 at 2:48 AM, anish singh <anish198519851985 at gmail.com>
wrote:

>
>
> On Mon, May 18, 2015 at 12:23 PM, Airton Ishimori <nobumasa.bcc at gmail.com>
> wrote:
>
>> Hello, everybody,
>>
>> I'm trying to develop a new Ethernet driver (Realtek) for Linux kernel
>> 4.0.2.
>>
>> [    3.612938] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
>>
>> As part of my studies, I'm trying to trace the path for functions defined
>> in drivers/net/ethernet/realtek/r8169.c, net/core/dev.c and
>> net/core/dev_ioctl.c. I'm using "printks" for this purpose. For
>> instance, something like:
>>
>> printk("TEST: __dev_set_promiscuity\n");
>>
>> However, I'm not getting what's going on. I can set/unset the promiscuity
>> behaviour via ifconfig command.
>>
>> [  131.330091] device eth0 entered promiscuous mode
>> [  170.619086] device eth0 left promiscuous mode
>>
>> By looking at the dmesg output above, I thought the function that deals
>> with promiscuity was __dev_set_promiscuity() defined in net/core/dev.c, because
>> this function calls a function to print the message above:
>>
>> pr_info("device %s %s promiscuous mode\n", dev->name, dev->flags &
>> IFF_PROMISC ? "entered" : "left");
>>
>> But, when I tried to look for my printk message with dmesg after
>> compiling and running the kernel, I couldn't find it.
>>
>> $ cd linux-4.0.2/
>> $ make net && make modules
>> $ sudo make modules_install && sudo make install
>>
>> Can somebody help me to understand what's happening?
>>
>
> There are only two reasons why your printk is not coming
> 1. Your printk is not executing.
> 2. Your driver is not getting installed.
> Have you verified both of these points?
>
>>
>> Thanks in advance,
>>
>>
>> *--*Airton Ishimori
>>
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150519/b92b03e5/attachment-0001.html 


More information about the Kernelnewbies mailing list