2014-09-25 16:54:26

by Pink

[permalink] [raw]
Subject: Question about debugging mac80211 without printk

Hi,

actually if have the following problem, if have a lot of debug messages
using printk inside the mac layer but if there is a
critical bug in the source code of the mac80211 module
the system goes into kernel panic state during execution. Unfortunately
so far i now, it isn't possible
after a system restart to identify the rough position of the bug looking
for the debug msg's written before the bug has occured in
dmesg or syslog because the messages were not saved in follow of the crash.

Now i thought user mode linux (uml) is maybe a potential solution to
identify the bug, if the kernel running the mac layer
is executed as virtual machine in uml. But i didn't found any kind of
description how to forward the physical wireless card except using
TAP/TUN device to the vm so
that the kernel inside the vm can run its mac layer directly on the card.

Now my question what tools are you use for the development and testing
of the ath wireless driver
as well as the complete wireless stack including mac80211. Is it user
mode linux or something else?
If user mode linux is used, is there any howto available to forward the
atheros card to the vm.

Thank Mario



2014-09-25 16:55:56

by Ben Greear

[permalink] [raw]
Subject: Re: Question about debugging mac80211 without printk

On 09/25/2014 09:54 AM, Pink wrote:
> Hi,
>
> actually if have the following problem, if have a lot of debug messages using printk inside the mac layer but if there is a
> critical bug in the source code of the mac80211 module
> the system goes into kernel panic state during execution. Unfortunately so far i now, it isn't possible
> after a system restart to identify the rough position of the bug looking for the debug msg's written before the bug has occured in
> dmesg or syslog because the messages were not saved in follow of the crash.
>
> Now i thought user mode linux (uml) is maybe a potential solution to identify the bug, if the kernel running the mac layer
> is executed as virtual machine in uml. But i didn't found any kind of description how to forward the physical wireless card except using TAP/TUN device to the
> vm so
> that the kernel inside the vm can run its mac layer directly on the card.
>
> Now my question what tools are you use for the development and testing of the ath wireless driver
> as well as the complete wireless stack including mac80211. Is it user mode linux or something else?
> If user mode linux is used, is there any howto available to forward the atheros card to the vm.

Have you tried using a serial-console? That is usually adequate for getting
crash dumps and resolving most issues.

Thanks,
Ben


--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com


2014-09-26 06:15:50

by Michal Kazior

[permalink] [raw]
Subject: Re: Question about debugging mac80211 without printk

On 25 September 2014 18:54, Pink <[email protected]> wrote:
> Hi,
>
> actually if have the following problem, if have a lot of debug messages
> using printk inside the mac layer but if there is a
> critical bug in the source code of the mac80211 module
> the system goes into kernel panic state during execution. Unfortunately so
> far i now, it isn't possible
> after a system restart to identify the rough position of the bug looking for
> the debug msg's written before the bug has occured in
> dmesg or syslog because the messages were not saved in follow of the crash.
>
> Now i thought user mode linux (uml) is maybe a potential solution to
> identify the bug, if the kernel running the mac layer
> is executed as virtual machine in uml. But i didn't found any kind of
> description how to forward the physical wireless card except using TAP/TUN
> device to the vm so
> that the kernel inside the vm can run its mac layer directly on the card.
>
> Now my question what tools are you use for the development and testing of
> the ath wireless driver
> as well as the complete wireless stack including mac80211. Is it user mode
> linux or something else?
> If user mode linux is used, is there any howto available to forward the
> atheros card to the vm.

You can try using KVM and pass through devices to a virtual machine.
Passing USB through has no extra requirements albeit from my
experience some USB controllers and USB devices have some issues
sometimes. PCI pass-through requires VT-d or AMD-v to be supported on
both CPU and motherboard.

I actually use this kind of setup (I'm using QEMU) myself. I can
attach gdb, emulate serial console, pass-through rootfs via 9p and
just boot a kernel in the VM omitting bootloader which is really
convenient. If it crashes I can get pretty much all info I need.


MichaƂ