I have been reading manuals (User Guides, utility reference) but I was not able to find anything which tells me what hard ware driver my system is using currently.
For example, if I want to know the name of the driver being used by io-net, how can I do it? Similarly for my PCMCIA card, Graphics Card, etc?
I know I can look it up at on
QNX Hardware support site
but it is very cumbersome as first I will have to find out the hardware name and version and then check against the database in the above link.
Is there anything like lsmod (in Unix, Linux) on QNX6?
This is QNX, drivers are not in the kernel, they are regular processes (or libraries in regular processes).
Thus, there is no need for a special command like lsmod, which has to dig into the kernel via a special interface to determine what drivers are installed.
In QNX you query for drivers, exactly as you would for processes, using pidin (you could use ps, but it has a yucky UI).
So, if the driver is a process:
If the driver is a shared library (DLL) then:
pidin mem (to see DLLs that are mapped into the process)
For example, on my system (QNX running on VMware), I just ran:
# pidin -pio-net mem
pid tid name prio STATE code data stack
81935 1 sbin/io-net 10o SIGWAITINFO 64K 480K 8192(516K)*
81935 2 sbin/io-net 20o RECEIVE 64K 480K 4096(132K)
81935 3 sbin/io-net 10o RECEIVE 64K 480K 4096(68K)
81935 4 sbin/io-net 10o RECEIVE 64K 480K 4096(68K)
81935 5 sbin/io-net 10o RECEIVE 64K 480K 4096(68K)
81935 6 sbin/io-net 21r RECEIVE 64K 480K 4096(132K)
libc.so.2 @b0300000 360K 12K
npm-tcpip.so @b8200000 276K 24K
devn-pcnet.so @b824d000 40K 4096
sbin/io-net @ 8046000 ( 0) 8192
sbin/io-net @b035d000 ( 0) 4096
Sure, enough VMware emulates the AMD pcnet NIC, and that is the driver that is loaded (as a shared library) into io-net. What could be simpler?