Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - io-pkt is down: Page 1 of 2 (17 Items)
   
io-pkt is down  
I have MPC5200 reference board from Freescale.
On the board, I configured my board as a WAP(Wireless Access Point).
I followed the description for the configuration from WiKi page on this site.

I have two network interfaces. One is ethernet port is built on the reference board, the other is wireless lan adaptor 
from 3Com.
The wireless adaptor used Atheros chipset and has a PCI form factor.

And this is the script for configuration of WAP.

io-pkt-v4-hc -dath -dmpc5200 mac=00049F005B27 verbose -ptcpip
waitfor /dev/io-net/en0 10
ifconfig en0 150.150.74.87 netmask 255.255.255.0 up                
ifconfig ath0 192.168.0.111 netmask 255.255.255.0 up
ifconfig ath0 media OFDM54 mode 11a mediaopt hostap
ifconfig ath0 ssid AGW_A
sysctl -w net.inet.ip.forwarding=1
mount -Ttcpip lsm-pf-v4.so
pfctl -e
pfctl -N -f /etc/pf.conf
route add default 150.150.74.254

We got a driver source for Atheros from QNX. 
I confirmed that there is no added component, software and hardware at the reference board.

The ethernet port is used for external network and WiFi interface is used for internal network. 

There is one notebook. It has only wifi interface to the external network. It got IP address from the WAP, because WAP 
acted as a DHCP server.

The reference board had NAT function. So the wifi interface had a private network address like 192.168.0.111.

Now I started to explain my problem regarding io-pkt stack is down.
I tried to connect some web page from Notebook through the reference board via WiFi interface.

After few seconds or few minutes, io-pkt stack had been hang.
So, web connection is closed.
At this time, I checked process lists using "pidin" command, and got a result like below. There are two types of errors.


First, the state of io-pkt-v4-hc is MUTEX. And the second is there is no list of io-pkt.
1. # pidin
     pid tid name               prio STATE       Blocked         
       1   1 procnto              0f READY                       
       1   2 procnto            255r RECEIVE     1               
       1   3 procnto            255r RECEIVE     1               
       1   4 procnto             10r RECEIVE     1               
       1   5 procnto             10r RUNNING                     
       1   6 procnto             10r RECEIVE     1               
       1   7 procnto             10r RECEIVE     1               
    4098   1 c/boot/devc-serpsc  10r RECEIVE     1               
    4099   1 proc/boot/pipe      10r SIGWAITINFO                 
    4099   2 proc/boot/pipe      10r RECEIVE     1               
    4099   3 proc/boot/pipe      10r RECEIVE     1               
    4099   4 proc/boot/pipe      10r RECEIVE     1               
    4100   1 c/boot/pci-mgt5200  21r RECEIVE     1               
    4101   1 proc/boot/devc-pty  10r RECEIVE     1               
    4102   1 proc/boot/qconn     10r SIGWAITINFO                 
    4102   2 proc/boot/qconn     10r CONDVAR     48060168        
    4102   3 proc/boot/qconn     10r RECEIVE     1               
    4102   4 proc/boot/qconn     10r RECEIVE     3               
    4103   1 /boot/devf-mgt5200  10r SIGWAITINFO                 
    4103   2 /boot/devf-mgt5200  10r RECEIVE     1               
    4103   3 /boot/devf-mgt5200  10r RECEIVE     1               
    4105   1 proc/boot/io-usb    10r SIGWAITINFO                 
    4105   2 proc/boot/io-usb    21r RECEIVE     4               
    4105   3 proc/boot/io-usb    21r RECEIVE     1               
    4105   4 proc/boot/io-usb    10r RECEIVE     7               
    4105   5 proc/boot/io-usb    10r NANOSLEEP                   
    4105   6 proc/boot/io-usb    10r RECEIVE     7               
    8200   1 c/boot/devc-serpsc  10r RECEIVE     1               
    8202   1 proc/boot/ksh       10r SIGSUSPEND                  
    8203   1 usr/sbin/random     10r SIGWAITINFO                 
    8203   2 usr/sbin/random     10r RECEIVE     1  ...
View Full Message
Re: io-pkt is down  
Just to confirm:  The driver has been completely re-built within the new io-pkt source base?

  Can you try running with lsm-pf-v4 and see if that makes any difference (or can things not operate at all without NAT?
)

Is it possible to set up secondary ethernet interface so that you can run a second instance of the stack and then run a 
debug version of io-pkt so that you can see exactly where things are crashing?

Is dumper running?  Can you get us a core dump in the case the stack dies?

We're dealing with four potential problems here:
1) The stack
2) The filter
3) The Ethernet driver
4) The Atheros driver


Have there been any customized changes to either the Ethernet driver or Atheros driver?

  Robert
Re: io-pkt is down  
I confimed that the driver has been completely re-built within the new io-pkt source base. When the source code for io-
pkt is released, I always build the whole source code with atheros driver source code.

And I'll upload a core dump when the stack dies after working hours.
I couldn't upload a file at an office, so I'll come back soon at home.

I totally agree with you there are four potential issues.
So, first I'll try to re-test without packet filter and NAT and I'll share the result.

FYI, currently I used very simple pf.conf. There are only three lines.
I defined int_if=ath0 and ext_if=eth0. And I set the nat rule as "nat on $ext_if from !(ext_if) to any -> ($ext_if)". I 
think it's enough for our purpose.

After tesing without NAT, I'll try to use secondary ethernet PCI card on Reference board. Did you mean that setting up 
two network interfaces using two ethernet interfaces? Did you mean that one is built in ethernet port and the other is 
external ethernet port or one is an external ethernet port and the other is Wireless lan port?

Finally, I confirmed that there are no changes at ethernet driver and wireless lan for atheros chipset driver.

I only use the io-pkt source code and atheros driver source code from QNX site without any customizing.

Wayne.
RE: io-pkt is down  
Hi Wayne:
	I was thinking that if you have another Ethernet interface (an
additional on (PCI or USB or on board)), then you can use that interface
with a second stack instantiation to connect into with the debugger to
start a debug version of the stack and driver with the configuration
that you have today.  You can also use dumper to get back traces of
io-pkt when it appears to be mutex deadlocked (see the dumper -p
option).

	Robert.

-----Original Message-----
From: Jongpil Won [mailto:community-noreply@qnx.com] 
Sent: Monday, October 13, 2008 10:49 PM
To: drivers-networking
Subject: Re: io-pkt is down

I confimed that the driver has been completely re-built within the new
io-pkt source base. When the source code for io-pkt is released, I
always build the whole source code with atheros driver source code.

And I'll upload a core dump when the stack dies after working hours.
I couldn't upload a file at an office, so I'll come back soon at home.

I totally agree with you there are four potential issues.
So, first I'll try to re-test without packet filter and NAT and I'll
share the result.

FYI, currently I used very simple pf.conf. There are only three lines.
I defined int_if=ath0 and ext_if=eth0. And I set the nat rule as "nat on
$ext_if from !(ext_if) to any -> ($ext_if)". I think it's enough for our
purpose.

After tesing without NAT, I'll try to use secondary ethernet PCI card on
Reference board. Did you mean that setting up two network interfaces
using two ethernet interfaces? Did you mean that one is built in
ethernet port and the other is external ethernet port or one is an
external ethernet port and the other is Wireless lan port?

Finally, I confirmed that there are no changes at ethernet driver and
wireless lan for atheros chipset driver.

I only use the io-pkt source code and atheros driver source code from
QNX site without any customizing.

Wayne.

_______________________________________________
Networking Drivers
http://community.qnx.com/sf/go/post14924
RE: io-pkt is down  
> io-pkt stack had been hang ... two types of errors.
> First, the state of io-pkt-v4-hc is MUTEX. 
> the second is there is no list of io-pkt.

When io-pkt goes away, it probably has faulted.
Before you start io-pkt, run dumper to create a 
core dump of io-pkt in /tmp.

When io-pkt locks up on a mutex, do a pidin to
get the pid of io-net (say 12345) then do this:

  # dumper -p 12345

which will cause dumper to create a core file of
io-pkt, even though it didn't fault.

Now that you have a core dump, start io-pkt really
simply - without the wifi - just with a single ethernet
port, and ifconfig the port with an IP address, so
that you can ftp the core file produced by dumper
off the box, and send it to us.

--
aboyd
Re: RE: io-pkt is down  
Hi, i'm a same team member with Wayne.
i send two core dump files.

1. io-pkt stack down (pidin : there is no list of io-pkt) : io-pkt-v4-hc_stackdown.core
2. io-pkt mutex state : io-pkt-v4-hc_mutex.core

Thank you.
Attachment: Compressed file core.tar 8.35 MB
Re: RE: io-pkt is down  
On Wed, Oct 15, 2008 at 08:16:56AM -0400, Sunha Choi wrote:
> Hi, i'm a same team member with Wayne.
> i send two core dump files.
> 
> 1. io-pkt stack down (pidin : there is no list of io-pkt) : io-pkt-v4-hc_stackdown.core
> 2. io-pkt mutex state : io-pkt-v4-hc_mutex.core
> 
> Thank you.
> 

Can you also include the binaries in the archive (io-pkt
and any dlls loaded therein (devnp-ath.so, lsm-*)).

Thanks,

-seanb
Re: RE: io-pkt is down  
I send the binaries (io-pkt & dlls).

Thank you.
Attachment: Text dll.tar 2.31 MB
RE: RE: io-pkt is down  
Ok, got all the binaries.  Wrestling with
gdb right now.

--
aboyd
RE: RE: io-pkt is down  
Do you have a non-stripped io-pkt-v4-hc
that you can send me?

--
aboyd