Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Wifi network operation: (7 Items)
   
Wifi network operation  
I used Orinoco card to realize adhoc networks. And i got the problems:
1)How can i determine the source of the interrupt via in8()?
2)Are there any sample codes of dealing with network card available under QNX 6.3.2?

Thx,
Alex
RE: Wifi network operation  
Hi Alex:
   You have to use the pci utility to get the interrupt for the card ("pci
-v" as root).  You could write your own program to do that, but it involves
querying the PCI bus, so it isn't as simple as a single "in" call.

There is a network DDK that you can download (Go to www.qnx.com/download,
Enter "Network" in the search box and click on the DDK button).

I don't know how helpful this will be for you given that there are no WiFi
examples in there and WiFi drivers are much more complex than regular
Ethernet drivers.

   Robert.


-----Original Message-----
From: Alex Doherty [mailto:dohertytek@gmail.com] 
Sent: Thursday, January 03, 2008 9:34 AM
To: technology-networking
Subject: Wifi network operation

I used Orinoco card to realize adhoc networks. And i got the problems:
1)How can i determine the source of the interrupt via in8()?
2)Are there any sample codes of dealing with network card available under
QNX 6.3.2?

Thx,
Alex

_______________________________________________
Technology
http://community.qnx.com/sf/go/post4032
Re: RE: Wifi network operation  
Just realized...  Is this a PCMCIA card rather than a PCI card?  If so you can use the "pin" utility to determine the 
interrupt.
Re: RE: Wifi network operation  
Thx, Robert.

#pci
Sock  Func Type    Flags            PID    Base          Size  IRQ
1     0    Network C---I-+---X----- 77839  0x300           64   3    
1          Empty   ----MF---------- None
2          Empty   ----MF---------- None
2          Empty   ----MF---------- None

So obvioiusly the IRQ line is 0x3 for my Orinoco PC Card. But how can i know all the interrupt lines and whether IRQ3 is
 shared by other hardwares or not?

For the wifi driver, I think i have successfully loaded devn-ornico.so under QNX6.3.2. So i would like to know the 
common operations like receive a pkt, send a pkt and how to buffer and upstream the pkt.

Thanks,
Alex
RE: RE: Wifi network operation  
"pidin irq" will give you which processes / threads are attached to the
interrupts.  If I remember correctly, 0x3 would likely be shared with a
serial port at a minimum.

In terms of the packet operations, I take it from the fact that the driver
is loaded that you don't want to actually re-write the driver (?).  

This means you either want to send/receive raw Ethernet packets or you just
want to communicate with the other computer that you've connected.

If it's sending raw Ethernet packets, then that's a more complex answer
(See
http://community.qnx.com/sf/discussion/do/listPosts/projects.community/discu
ssion.community.topc1499)

If it's just communications, then you can use standard IP sockets (lots of
good web references) or raw message passing with QNET (covered in the docs).

   Robert.



-----Original Message-----
From: Alex Doherty [mailto:dohertytek@gmail.com] 
Sent: Friday, January 04, 2008 11:31 PM
To: technology-networking
Subject: Re: RE: Wifi network operation

Thx, Robert.

#pci
Sock  Func Type    Flags            PID    Base          Size  IRQ
1     0    Network C---I-+---X----- 77839  0x300           64   3    
1          Empty   ----MF---------- None
2          Empty   ----MF---------- None
2          Empty   ----MF---------- None

So obvioiusly the IRQ line is 0x3 for my Orinoco PC Card. But how can i know
all the interrupt lines and whether IRQ3 is shared by other hardwares or
not?

For the wifi driver, I think i have successfully loaded devn-ornico.so under
QNX6.3.2. So i would like to know the common operations like receive a pkt,
send a pkt and how to buffer and upstream the pkt.

Thanks,
Alex

_______________________________________________
Technology
http://community.qnx.com/sf/go/post4063
Re: RE: RE: Wifi network operation  
Thx, Robert.
The output of the "pindin irq" is:

  581650   1 sbin/io-net        
                10              0x3    0 TP- =PULSE 0x40000006:21 0:0

And here "0x3" indicated the IRQ line for the process io-net. Right?
But i couldnot figure out the meanings by "TP- =PULSE 0x40000006:21 0:0". No other processes share this IRQ line.

For the operation the network, it is true that i just wanna send and receive the info. data among adhoc machines and i 
will refer to the IP socket programming as u suggested.

But concerning the ISR for the network interrupt, i have no ideas 
1)how to clear the interrupt src, use in8() function?
2)how can i know the relevant registers for the 8250-like hardwares?

Thank you,
Alex 
RE: RE: RE: Wifi network operation  
The docs for pidin describe the fields associated with the output but this
is showing only one process connected to the IRQ.

The driver takes care of everything to do with the interrupts and registers
and you don't need to know anything about the hardware to use the socket
programming interface.

You'd have to do a web search to get docs for the chips (if they're
available at all).  Most WiFi chips don't provide public documentation and
documents that we have are usually covered by non-disclosure agreements
which prevent us from releasing that information.

   Robert.

-----Original Message-----
From: Alex Doherty [mailto:dohertytek@gmail.com] 
Sent: Sunday, January 06, 2008 3:15 AM
To: technology-networking
Subject: Re: RE: RE: Wifi network operation

Thx, Robert.
The output of the "pindin irq" is:

  581650   1 sbin/io-net        
                10              0x3    0 TP- =PULSE 0x40000006:21 0:0

And here "0x3" indicated the IRQ line for the process io-net. Right?
But i couldnot figure out the meanings by "TP- =PULSE 0x40000006:21 0:0". No
other processes share this IRQ line.

For the operation the network, it is true that i just wanna send and receive
the info. data among adhoc machines and i will refer to the IP socket
programming as u suggested.

But concerning the ISR for the network interrupt, i have no ideas 
1)how to clear the interrupt src, use in8() function?
2)how can i know the relevant registers for the 8250-like hardwares?

Thank you,
Alex 

_______________________________________________
Technology
http://community.qnx.com/sf/go/post4070