LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM
User Name
Password
Slackware - ARM This forum is for the discussion of Slackware ARM.

Notices


Reply
  Search this Thread
Old 04-20-2019, 10:30 PM   #1
glorsplitz
Senior Member
 
Registered: Dec 2002
Distribution: slackware!
Posts: 1,398

Rep: Reputation: 412Reputation: 412Reputation: 412Reputation: 412Reputation: 412
wifi on LeMaker Banana Pro and Slackware ARM ?


drawing a blank here, got wifi working on my rpi3 using slackwarearm, not sure what the following means on my bananapro

Code:
grep -iR brcmfmac /var/log/dmesg
[   15.054351] brcmfmac: F1 signature read @0x18000000=0x1591a962
[   15.083507] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   15.099918] usbcore: registered new interface driver brcmfmac
[   15.121225] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43362-sdio.txt failed with error -2
[   15.138666] brcmfmac mmc1:0001:1: Falling back to syfs fallback for: brcm/brcmfmac43362-sdio.txt
I'm guessing has to do something with this "failed with error -2"?

Code:
locate 43362
/lib/firmware/brcm/brcmfmac43362-sdio.bin
/lib/firmware/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt
/lib/firmware/brcm/brcmfmac43362-sdio.lemaker,bananapro.txt
Code:
lsmod | grep brcmfmac
brcmfmac              278528  0
brcmutil               16384  1 brcmfmac
cfg80211              479232  1 brcmfmac
usbcore               167936  21 ehci_orion,usbnet,ehci_tegra,usbhid,ums_isd200,usb_storage,ums_cypress,ehci_hcd,ums_usbat,ums_jumpshot,ums_freecom,uhci_hcd,ums_onetouch,ums_alauda,brcmfmac,ohci_hcd,ums_sddr09,ums_sddr55,ehci_platform,ohci_platform,ehci_pci
Code:
iwconfig
eth0      no wireless extensions.

lo        no wireless extensions.
 
Old 04-21-2019, 01:49 AM   #2
Penthux
Member
 
Registered: Dec 2008
Location: Middlesbrough, UK
Distribution: Slackware
Posts: 264

Rep: Reputation: 74
Quote:
Originally Posted by glorsplitz View Post
drawing a blank here, got wifi working on my rpi3 using slackwarearm, not sure what the following means on my bananapro

Code:
grep -iR brcmfmac /var/log/dmesg
[   15.054351] brcmfmac: F1 signature read @0x18000000=0x1591a962
[   15.083507] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   15.099918] usbcore: registered new interface driver brcmfmac
[   15.121225] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43362-sdio.txt failed with error -2
[   15.138666] brcmfmac mmc1:0001:1: Falling back to syfs fallback for: brcm/brcmfmac43362-sdio.txt
I'm guessing has to do something with this "failed with error -2"?
brcmfmac is the Broadcom wireless driver shizzle for the RPis. Does the Banana Pi use the same wireless chip?

Which wireless device are you trying to initialise and configure?

<edit> (afterthought) if you're not sure use the 'lsusb -t' command to determine which device you're using.

Code:
root@vuur:~# lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
        |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
root@vuur:~#
This will dump the physical USB device hierarchy as a tree. From here you can check out any device listed using the 'lsusb -D /dev/bus/usb/001/<device_id>' command. For example, I'll check out my Ethernet device as I don't have a wireless device connected.

Code:
root@vuur:~# lsusb -D /dev/bus/usb/001/003
Device: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         0
  bDeviceProtocol         1
  bMaxPacketSize0        64
  idVendor           0x0424 Standard Microsystems Corp.
  idProduct          0xec00 SMSC9512/9514 Fast Ethernet Adapter
...
etc.

Last edited by Penthux; 04-21-2019 at 02:07 AM.
 
1 members found this post helpful.
Old 04-21-2019, 10:02 AM   #3
drmozes
Slackware Contributor
 
Registered: Apr 2008
Distribution: Slackware
Posts: 1,647

Rep: Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358
I have never tested the Banana Pi Wifi - if there's anything in particular that needs to be configured, let me know and I'll add it to the installation instructions.
 
1 members found this post helpful.
Old 04-21-2019, 10:37 AM   #4
glorsplitz
Senior Member
 
Registered: Dec 2002
Distribution: slackware!
Posts: 1,398

Original Poster
Rep: Reputation: 412Reputation: 412Reputation: 412Reputation: 412Reputation: 412
Quote:
Which wireless device are you trying to initialise and configure?
not sure how to figure that out

That's what I mean by drawing a blank, lspci would provide device id, there's no pci devices,
lsusb isn't much help either

other than here BananaPro/Pi:WiFi configuration
Quote:
On Banana Pro, there is onboard AP6181 WiFi module, you can use it directly.
Code:
lsusb
Bus 004 Device 002: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 10c4:8105 Cygnal Integrated Products, Inc. 
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Code:
lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
Let me see what kind of trouble I can get into following this BananaPro/Pi:Add Wifi driver
EDIT:their mirror is 404

I did manage to get the antenna connected.

EDIT:seems like dead end here AP6181 nvram config for Banana Pro

Last edited by glorsplitz; 04-21-2019 at 10:50 AM.
 
Old 04-21-2019, 05:44 PM   #5
glorsplitz
Senior Member
 
Registered: Dec 2002
Distribution: slackware!
Posts: 1,398

Original Poster
Rep: Reputation: 412Reputation: 412Reputation: 412Reputation: 412Reputation: 412
BananaPro/Pi:WiFi configuration says
Quote:
On Banana Pro, you need load the WiFi driver. Although we use AP6181, but the wifi driver is the same of the AP6210, so the driver name is called AP6210.
drmozes, this armStrapTools/ap6210 what you mean about anything in particular? source and firmware

if so and can be added to installation instructions, could an installed system be updated?

THANK YOU!

Last edited by glorsplitz; 04-21-2019 at 05:47 PM.
 
Old 04-21-2019, 06:45 PM   #6
Penthux
Member
 
Registered: Dec 2008
Location: Middlesbrough, UK
Distribution: Slackware
Posts: 264

Rep: Reputation: 74
Quote:
Originally Posted by glorsplitz View Post
not sure how to figure that out

That's what I mean by drawing a blank, lspci would provide device id, there's no pci devices,
lsusb isn't much help either

other than here BananaPro/Pi:WiFi configuration
Yeah there's no PCI bus on an ARM device. So no PCI device(s).

Have you seen this page? http://wiki.lemaker.org/BananaPro/Pi:Add_Wifi_driver
 
Old 04-22-2019, 12:40 AM   #7
drmozes
Slackware Contributor
 
Registered: Apr 2008
Distribution: Slackware
Posts: 1,647

Rep: Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358Reputation: 1358
Quote:
Originally Posted by glorsplitz View Post
BananaPro/Pi:WiFi configuration says

drmozes, this armStrapTools/ap6210 what you mean about anything in particular? source and firmware

if so and can be added to installation instructions, could an installed system be updated?

THANK YOU!
I mean that you get it working, and document how it works. If it's something simple (such as a few commands to enable a module) then I can add to the installation instructions.
If it's some long drawn out 1-page affair, that can go on http://docs.slackware.com and can be referenced from the installation doc.
If it needs some additional Kernel module that's in 4.19 presently, or some extra firmware then I can add that in (assuming an agreeable licence for any firmware).
 
Old 04-22-2019, 05:52 PM   #8
glorsplitz
Senior Member
 
Registered: Dec 2002
Distribution: slackware!
Posts: 1,398

Original Poster
Rep: Reputation: 412Reputation: 412Reputation: 412Reputation: 412Reputation: 412
Quote:
Originally Posted by Penthux View Post
Yes, I've seen that page, no experience cross-compiling but willing to try and less experience building kernel modules.

For someone reading that has experience and interested in following along, their instructions in Penthux link will produce ap6210.ko but for kernel 3.4.103, right? mine is 4.19.34-armv7.

Would it be enough to create ap6210.ko then step 6, skip "Copy arch/arm/boot/uImage file over to /boot" and
copy output/lib/modules/3.4.103/kernel/drivers/net/wireless/ap6210/ap6210.ko file over to /lib/modules/4.19.34-armv7/kernel/drivers/net/wireless/ap6210/?

then in Penthux link do the rest of step 6? kind of something like mralk3 did here? sidestepping?

or is ap6210.ko dependent on what's in arch/arm/boot/uImage and uImage-armv7-4.19.34 has no clue?

Thanks

Last edited by glorsplitz; 04-22-2019 at 06:05 PM.
 
Old 04-22-2019, 07:16 PM   #9
Penthux
Member
 
Registered: Dec 2008
Location: Middlesbrough, UK
Distribution: Slackware
Posts: 264

Rep: Reputation: 74
Quote:
Originally Posted by glorsplitz View Post
Yes, I've seen that page, no experience cross-compiling but willing to try and less experience building kernel modules.

For someone reading that has experience and interested in following along, their instructions in Penthux link will produce ap6210.ko but for kernel 3.4.103, right? mine is 4.19.34-armv7.
Forget building your own kernel. That's hardcore.

According to https://wikidevi.com/wiki/AMPAK_AP6210 - These are the drivers you need for the AMPAK AP6210 wireless device: https://wireless.wiki.kernel.org/en/...vers/brcm80211

I think the easiest thing to do in your case would be to run one of the Banana Pi Pro OS images [http://www.lemaker.org/product-bananapro-resource.html] such as Raspbian, Bananian, Lubuntu to see if it uses the drivers you require for Slackware ARM. In that case you can copy
the firmware over to your Slackware ARM installation. I don't have a BPi Pro to test with but [an informed guess would be] you would be looking for these files:

Code:
/lib/firmware/brcm/brcmfmac43362*
In fact, there's a post on LQ by mralk3 where he successfully does the above on a RPi3B+ [here: https://www.linuxquestions.org/quest.../#post5840054] and if you were to follow that, exchanging 'brcmfmac43455' for 'brcmfmac43362' it might just work out for you.
 
1 members found this post helpful.
Old 04-23-2019, 07:11 PM   #10
glorsplitz
Senior Member
 
Registered: Dec 2002
Distribution: slackware!
Posts: 1,398

Original Poster
Rep: Reputation: 412Reputation: 412Reputation: 412Reputation: 412Reputation: 412
Thank you Penthux for the interest and feedback.

I haven't done anything, look at this on the bananapro, aren't these the files from your last suggestion?
Code:
ls -la /lib/firmware/brcm/brcmfmac43362*
-rw-r--r-- 1 root root 219557 Aug 17  2016 /lib/firmware/brcm/brcmfmac43362-sdio.bin
-rw-r--r-- 1 root root    803 Apr  2 15:40 /lib/firmware/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt
lrwxrwxrwx 1 root root     43 Apr 12 23:53 /lib/firmware/brcm/brcmfmac43362-sdio.lemaker,bananapro.txt -> brcmfmac43362-sdio.cubietech,cubietruck.txt
Code:
lsmod | grep brcmfmac
brcmfmac              278528  0
brcmutil               16384  1 brcmfmac
cfg80211              479232  1 brcmfmac
usbcore               167936  21 ehci_orion,usbnet,ehci_tegra,usbhid,ums_isd200,usb_storage,ums_cypress,ehci_hcd,ums_usbat,ums_jumpshot,ums_freecom,uhci_hcd,ums_onetouch,ums_alauda,brcmfmac,ohci_hcd,ums_sddr09,ums_sddr55,ehci_platform,ohci_platform,ehci_pci
Quote:
cat /lib/firmware/brcm/brcmfmac43362-sdio.lemaker,bananapro.txt
# SPDX-License-Identifier: GPL-2.0+
# (C) Copyright 2018 Linaro Ltd
# NVRAM config file for the Ampak AP6210 43362 WiFi/BT module found on the
# Cubietech Cubietruck board
.
.
.
and
Code:
dmesg | grep brcmfmac
[   14.993901] brcmfmac: F1 signature read @0x18000000=0x1591a962
[   15.010361] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   15.025993] usbcore: registered new interface driver brcmfmac
[   15.046167] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43362-sdio.txt failed with error -2
[   15.081463] brcmfmac mmc1:0001:1: Falling back to syfs fallback for: brcm/brcmfmac43362-sdio.txt
[   79.847228] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
Which gets me back to original post for this thread, just as in mralk3 thread.
Quote:
I'm guessing has to do something with this "failed with error -2"?
I've not messed around much with kernel module stuff before, I don't know what I seeing not seeing.

What do you think you see?

These leads look promising, I don't have much spare time during the week, I'll check them out next chance I get.
brcm/brcmfmac43455-sdio.txt failed with error -2 - No wireless
and
Ubuntu 16.04 How do I logically troubleshoot AP6212/6255 (broadcom) wireless/bluetooth not being found
 
Old 04-24-2019, 12:31 AM   #11
Penthux
Member
 
Registered: Dec 2008
Location: Middlesbrough, UK
Distribution: Slackware
Posts: 264

Rep: Reputation: 74
Quote:
Originally Posted by glorsplitz View Post
Code:
dmesg | grep brcmfmac
[   14.993901] brcmfmac: F1 signature read @0x18000000=0x1591a962
[   15.010361] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   15.025993] usbcore: registered new interface driver brcmfmac
[   15.046167] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43362-sdio.txt failed with error -2
[   15.081463] brcmfmac mmc1:0001:1: Falling back to syfs fallback for: brcm/brcmfmac43362-sdio.txt
[   79.847228] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
I'm guessing has to do something with this "failed with error -2"?

I've not messed around much with kernel module stuff before, I don't know what I seeing not seeing.

What do you think you see?
I think I see the same thing as you do with this "failed with error -2". Further Googling about this problem has revealed that it's probably a nvram file thats missing because Broadcom firmware can be quite specific on requirements for wireless devices.

<edit> Also, you don't have the 'brcmfmac43362-sdio.txt' file. You have 'brcmfmac43362-sdio.cubietech,cubietruck.txt' and 'brcmfmac43362-sdio.lemaker,bananapro.txt' files. I'd try copying and renaming 'brcmfmac43362-sdio.cubietech,cubietruck.txt' to 'brcmfmac43362-sdio.txt' to see if it solves the error -2 shizzle.

Quote:
Originally Posted by glorsplitz View Post
These leads look promising, I don't have much spare time during the week, I'll check them out next chance I get.
brcm/brcmfmac43455-sdio.txt failed with error -2 - No wireless
and
Ubuntu 16.04 How do I logically troubleshoot AP6212/6255 (broadcom) wireless/bluetooth not being found
One of these links lead me to this page: https://askubuntu.com/questions/1007...m-wireless-blu

That contains an answer which reads...

Quote:
You are missing firmware and it is normally made by doing a
Code:
sudo cp /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 /lib/firmware/brcm/brcmfmac43455-sdio.txt
But if the nvram file doesn't exist we can try searching google for one that might work We can try one file found while reading https://patchwork.kernel.org/patch/9517201/

Code:
wget https://github.com/khadas/android_hardware_amlogic_wifi/raw/b6709758755568e4a0ff6e80993be0fc64c77fb9/bcm_ampak/config/6255/nvram.txt
sudo cp nvram.txt /lib/firmware/brcm/brcmfmac43455-sdio.txt
Reboot and see if it works now
Now I know this is intended for Ubuntu, so take that into account if you do try the advice from that page. Could it be as simple as a missing 'brcmfmac43455-sdio.txt' file that would solve all your wireless problems? Try it and see.

Last edited by Penthux; 04-24-2019 at 12:48 AM. Reason: edit
 
Old 04-25-2019, 07:23 PM   #12
glorsplitz
Senior Member
 
Registered: Dec 2002
Distribution: slackware!
Posts: 1,398

Original Poster
Rep: Reputation: 412Reputation: 412Reputation: 412Reputation: 412Reputation: 412
slight progress, new error, not sure how to proceed

Code:
ln -s /lib/firmware/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt
got me

Code:
dmesg | grep brcmfmac
[   15.091495] brcmfmac: F1 signature read @0x18000000=0x1591a962
[   15.132015] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   15.164065] usbcore: registered new interface driver brcmfmac
[   17.966893] brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout
[   17.984261] brcmfmac: brcmf_bus_started: failed: -110
[   17.997387] brcmfmac: brcmf_attach: dongle is not responding: err=-110
[   18.018563] brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed
searching for "brcmf_attach: dongle is not responding" led me to LeMaker Banana Pro, look for "Mainline kernel"
and led me to ARM-dts-sun7i-Disable-OOB-IRQ-for-brcm-wifi-on-Cubietruck-and-Banana-Pro.patch

What I mean by not sure how to proceed is, is /usr/src/linux-4.19.36/arch/arm/boot/dts/sun7i-a20-bananapro.dts the source for /boot/dtb-4.19.36/sun7i-a20-bananapro.dtb?

How would I apply patch and rebuild sun7i-a20-bananapro.dtb and is there anything else system wise to do with refreshing a .dtb? I've never had to do this before. Thanks
 
Old 04-26-2019, 02:59 PM   #13
Penthux
Member
 
Registered: Dec 2008
Location: Middlesbrough, UK
Distribution: Slackware
Posts: 264

Rep: Reputation: 74
If it were me, I'd seriously consider installing one of the BPi Linux OS and seeing which firmware it's using for the wireless device. I'd make a backup of /lib/firmware/brcm/ while doing so. Then I'd copy it over to my Slackware ARM system. Should be more than able to get it working from there. If it works on Debian/Ubuntu there's no reason why it shouldn't also work with Slackware ARM.

Last edited by Penthux; 04-26-2019 at 03:00 PM.
 
Old 04-27-2019, 01:03 AM   #14
glorsplitz
Senior Member
 
Registered: Dec 2002
Distribution: slackware!
Posts: 1,398

Original Poster
Rep: Reputation: 412Reputation: 412Reputation: 412Reputation: 412Reputation: 412
result of their patch, comment out the "brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout..."

still looking into creating dtb from patched dts for the learning experience

Code:
diff sun7i-a20-bananapro.dts sun7i-a20-bananapro-NEW.dts 
177,179c177,189
<               interrupt-parent = <&pio>;
<               interrupts = <7 15 IRQ_TYPE_LEVEL_LOW>;
<               interrupt-names = "host-wake";
---
>               /*
>                * OOB interrupt support is broken ATM, often the first irq
>                * does not get seen resulting in the drv probe failing with:
>                *
>                * brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout
>                * brcmfmac: brcmf_bus_started: failed: -110
>                * brcmfmac: brcmf_attach: dongle is not responding: err=-110
>                * brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed
>                *
>                * interrupt-parent = <&pio>;
>                * interrupts = <7 15 IRQ_TYPE_LEVEL_LOW>;
>                * interrupt-names = "host-wake";
>                */
 
Old 04-30-2019, 04:32 PM   #15
Penthux
Member
 
Registered: Dec 2008
Location: Middlesbrough, UK
Distribution: Slackware
Posts: 264

Rep: Reputation: 74
Quote:
Originally Posted by glorsplitz View Post
still looking into creating dtb from patched dts for the learning experience
Usually you compile the dtbs after compiling the kernel, but before the modules.

For example:

Code:
root@slackbox:~# make [u|z]Image dtbs modules
Then when it's complete...

Code:
root@slackbox:~# cp ./arch/arm/boot/*(u)*(z)Image /boot/
root@slackbox:~# cp ./arch/arm/boot/dts/*.dtb /boot/overlays/ [or whichever dir they reside in]
root@slackbox:~# make modules_install
Is there any reason(s) why you are wanting to compile dtbs alone?

Last edited by Penthux; 04-30-2019 at 04:38 PM. Reason: added clarity
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LeMaker Banana Pro and Slackware ARM saxa Slackware - ARM 31 12-15-2018 03:49 PM
Install on a Lemaker Banana Pro justwantin Slackware - ARM 25 01-09-2016 08:26 PM
slackware arm on banana pi? inkscape Slackware - ARM 8 06-14-2015 04:39 AM
LXer: Banana Pi, Spiderman arm, and World of USO LXer Syndicated Linux News 0 01-03-2015 06:40 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM

All times are GMT -5. The time now is 03:34 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration