# Alfa Network AWUS036ACH install

## Loriot

Hello,

I've recently bought an Alfa Network AWUS036ACH usb adapter and I'm not able to install it.

I've read https://wiki.gentoo.org/wiki/AC1200_Wireless_Adapters and followed its script. At least lsmod shows the 8812au module listed. My router isn't able to offer ac but n. It uses WPA2 (TKIP/AES) on encryption.

Here some files:

iwconfig

```

enp0s20u9  unassociated  Nickname:"<WIFI@REALTEK>"

          Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated   

          Sensitivity:0/0  

          Retry:off   RTS thr:off   Fragment thr:off

          Encryption key:off

          Power Management:off

          Link Quality:0  Signal level:0  Noise level:0

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

```

dmesg

http://pastebin.com/uY1Kkeww

ifconfig

```

enp0s20u9: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether 00:c0:ca:8f:dd:45  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp3s0: flags=4098<BROADCAST,MULTICAST>  mtu 1500

        ether 08:62:66:2b:52:52  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1  (Local Loopback)

        RX packets 32  bytes 2752 (2.6 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 32  bytes 2752 (2.6 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

sit0: flags=128<NOARP>  mtu 1480

        sit  txqueuelen 1  (IPv6-in-IPv4)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

/etc/init.d/net

```
# 

# config_enp3s0="192.168.1.5 netmask 255.255.255.0 brd 192.168.1.255"

# routes_enp3s0="default via 192.168.1.1"

# dns_servers_enp3s0="8.8.8.8 8.8.4.4 192.168.1.1"

# for dhcp

# config_enp3s0="dhcp"

# WIRELESS

# enp0s20u9

#modules_enp0s20u9="wpa_supplicant"

modules="wpa_supplicant"

#config_enp0s20u9="dhcp"

config="dhcp"

wpa_supplicant="-wext"

```

wpa_supplicant.conf

```
ctrl_interface=/var/run/wpa_supplicant

ctrl_interface_group=wheel

#update_config=1

#

ap_scan=1

network={

   ssid="ssid"

   psk="###"

#   scan_ssid=1

#   proto=RSN

#   key_mgmt=WPA-PSK

#   group=CCMP TKIP

#   pairwise=CCMP TKIP

   priority=5

}
```

/etc/init.d/wpa_supplicant start

```
 * Starting WPA Supplicant Daemon ...Successfully initialized wpa_supplicant

nl80211: Driver does not support authentication/association or connect commands

nl80211: deinit ifname=enp0s20u9 disabled_11b_rates=0

enp0s20u9: Failed to initialize driver interface
```

It seems there is some mess with wpa_supplicant script somewhere whos using nl80211 driver but I dont know where it can be. I was trying to configure another different usb wifi adapter in the past but I really didn't know which scripts I activate.

Thank you.

----------

## khayyam

Loriot ...

There is your problem:

 *Loriot wrote:*   

> 
> 
> ```
> [ 14.017710] r8169 0000:03:00.0: Direct firmware load for rtl_nic/rtl8168g-2.fw failed with error -2
> 
> ...

 

So, it's either attempting to load an incorrect firmware, or some part of the firmware is missing. You should probably 'emerge linux-firmware', or check the kernel documentation.

best ... khay

----------

## Loriot

Thank you, khayyam

After an upgrade which has included linux-firmware package, here I post new dmesg:

dmesg

http://pastebin.com/Ek1Nf3cM

This time iwconfig dont even show anything up. I've tried an 

```
ifconfig enp0s20u9 up
```

 without results.

Edit: BTW enp3s0 is not supposed to be a link to wired connection?

rtl8812au chipset in dmesg:

```
dmesg | grep rtl8812au
```

dont show anything wrong

Cheers

----------

## NeddySeagoon

Loriot,

Its still not found the firmware.

```
[   14.017710] r8169 0000:03:00.0: Direct firmware load for rtl_nic/rtl8168g-2.fw failed with error -2

[   14.017711] r8169 0000:03:00.0 enp3s0: unable to load firmware patch rtl_nic/rtl8168g-2.fw (-2)
```

Do you have the file /lib/firmware/rtl_nic/rtl8168g-2.fw ?

If not try a testing version of linux-firmware.

----------

## Loriot

Hi NeddySeagoon, my fault. 

As I said before, I did a fully upgrade (I think you gentoo geeks call it @world upgrade) and after 4hours waiting I did a mistake, so led by a hurry I didn't reboot afterwards and I paste a dmesg before reboot (proof of that is that I'm using 4.9 kernel now)

Here's the current dmesg.

http://pastebin.com/ZS7FERTn

BTW I have firmwares installed:

ls /lib/firmware/rtl_nic/

```
rtl8105e-1.fw

rtl8106e-1.fw

rtl8106e-2.fw

rtl8107e-1.fw

rtl8107e-2.fw

rtl8168d-1.fw

rtl8168d-2.fw

rtl8168e-1.fw

rtl8168e-2.fw

rtl8168e-3.fw

rtl8168f-1.fw

rtl8168f-2.fw

rtl8168g-1.fw

rtl8168g-2.fw

rtl8168g-3.fw

rtl8168h-1.fw

rtl8168h-2.fw

rtl8402-1.fw

rtl8411-1.fw

rtl8411-2.fw
```

Thank you

----------

## NeddySeagoon

Loriot,

That worked

```
[    5.803955] rtl8812au 3-9:1.0 enp0s20u9: renamed from wlan0
```

Your wifi interface is called enp0s20u9. It will appear in 

```
ifconfig -a
```

There are no indications in dmesg that enp0s20u9 was ever started, nor that it failed to start.

Your next step is to attempt to configure enp0s20u9

The hard bit is done.

----------

## Loriot

Nope, it seems for me this is the hard part.

Okay, I've done every step in Wireless wiki but no results at all. Stuck on there. I've even followed https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Networking.

I don't know what to post.

Here's my wpa_supplicant -ienp0s20u9 -Dwext -c /etc/wpa_supplicant/wpa_supplicant.conf -d

```
wpa_supplicant v2.6

random: Trying to read entropy from /dev/random

Successfully initialized wpa_supplicant

Initializing interface 'enp0s20u9' conf '/etc/wpa_supplicant/wpa_supplicant.conf' driver 'wext' ctrl_interface 'N/A' bridge 'N/A'

Configuration file '/etc/wpa_supplicant/wpa_supplicant.conf' -> '/etc/wpa_supplicant/wpa_supplicant.conf'

Reading configuration file '/etc/wpa_supplicant/wpa_supplicant.conf'

ctrl_interface='/var/run/wpa_supplicant'

ctrl_interface_group='wheel'

update_config=1

ap_scan=1

Priority group 5

   id=0 ssid='Orange-b1ee'

rfkill: Cannot get wiphy information

WEXT: RFKILL status not available

ioctl[SIOCSIWMODE]: Operation not supported

Could not configure driver to use managed mode

ioctl[SIOCGIWRANGE]: Operation not supported

ioctl[SIOCGIWMODE]: Operation not supported

ioctl[SIOCSIWAP]: Operation not supported

WEXT: Failed to clear BSSID selection on disconnect

ioctl[SIOCSIWESSID]: Operation not supported

WEXT: Failed to set bogus SSID to disconnect

WEXT: Driver: rtl8812au

netlink: Operstate: ifindex=4 linkmode=1 (userspace-control), operstate=5 (IF_OPER_DORMANT)

Add interface enp0s20u9 to a new radio N/A

enp0s20u9: Own MAC address: 00:c0:ca:8f:dd:45

wpa_driver_wext_set_key: alg=0 key_idx=0 set_tx=0 seq_len=0 key_len=0

ioctl[SIOCSIWENCODEEXT]: Operation not supported

Driver did not support SIOCSIWENCODEEXT, trying SIOCSIWENCODE

ioctl[SIOCSIWENCODE]: Operation not supported

wpa_driver_wext_set_key: alg=0 key_idx=1 set_tx=0 seq_len=0 key_len=0

ioctl[SIOCSIWENCODEEXT]: Operation not supported

Driver did not support SIOCSIWENCODEEXT, trying SIOCSIWENCODE

ioctl[SIOCSIWENCODE]: Operation not supported

wpa_driver_wext_set_key: alg=0 key_idx=2 set_tx=0 seq_len=0 key_len=0

ioctl[SIOCSIWENCODEEXT]: Operation not supported

Driver did not support SIOCSIWENCODEEXT, trying SIOCSIWENCODE

ioctl[SIOCSIWENCODE]: Operation not supported

wpa_driver_wext_set_key: alg=0 key_idx=3 set_tx=0 seq_len=0 key_len=0

ioctl[SIOCSIWENCODEEXT]: Operation not supported

Driver did not support SIOCSIWENCODEEXT, trying SIOCSIWENCODE

ioctl[SIOCSIWENCODE]: Operation not supported

wpa_driver_wext_set_key: alg=0 key_idx=4 set_tx=0 seq_len=0 key_len=0

ioctl[SIOCSIWENCODEEXT]: Operation not supported

Driver did not support SIOCSIWENCODEEXT, trying SIOCSIWENCODE

ioctl[SIOCSIWENCODE]: Operation not supported

wpa_driver_wext_set_key: alg=0 key_idx=5 set_tx=0 seq_len=0 key_len=0

ioctl[SIOCSIWENCODEEXT]: Operation not supported

Driver did not support SIOCSIWENCODEEXT, trying SIOCSIWENCODE

ioctl[SIOCSIWENCODE]: Operation not supported

wpa_driver_wext_set_countermeasures

enp0s20u9: RSN: flushing PMKID list in the driver

enp0s20u9: Setting scan request: 0.100000 sec

ENGINE: Loading dynamic engine

ENGINE: Loading dynamic engine

EAPOL: SUPP_PAE entering state DISCONNECTED

EAPOL: Supplicant port status: Unauthorized

EAPOL: KEY_RX entering state NO_KEY_RECEIVE

EAPOL: SUPP_BE entering state INITIALIZE

EAP: EAP entering state DISABLED

Using existing control interface directory.

ctrl_interface_group=10 (from group name 'wheel')

ctrl_iface bind(PF_UNIX) failed: Address already in use

ctrl_iface exists and seems to be in use - cannot override it

Delete '/var/run/wpa_supplicant/enp0s20u9' manually if it is not used anymore

Failed to initialize control interface '/var/run/wpa_supplicant'.

You may have another wpa_supplicant process already running or the file was

left by an unclean termination of wpa_supplicant in which case you will need

to manually remove this file before starting wpa_supplicant again.

Failed to add interface enp0s20u9

enp0s20u9: Request to deauthenticate - bssid=00:00:00:00:00:00 pending_bssid=00:00:00:00:00:00 reason=3 state=DISCONNECTED

enp0s20u9: State: DISCONNECTED -> DISCONNECTED

wpa_driver_wext_set_operstate: operstate 0->0 (DORMANT)

netlink: Operstate: ifindex=4 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT)

EAPOL: External notification - portEnabled=0

EAPOL: External notification - portValid=0

wpa_driver_wext_set_countermeasures

enp0s20u9: WPA: Clear old PMK and PTK

enp0s20u9: Cancelling scan request

enp0s20u9: Cancelling authentication timeout

Off-channel: Clear pending Action frame TX (pending_action_tx=(nil)

Remove interface enp0s20u9 from radio 

Remove radio 

ioctl[SIOCGIWMODE]: Operation not supported

ioctl[SIOCSIWAP]: Operation not supported

WEXT: Failed to clear BSSID selection on disconnect

ioctl[SIOCSIWESSID]: Operation not supported

WEXT: Failed to set bogus SSID to disconnect

netlink: Operstate: ifindex=4 linkmode=0 (kernel-control), operstate=6 (IF_OPER_UP)

```

last lines of my syslog

http://pastebin.com/9nHaE3qz

ifconfig -a

```

enp0s20u9: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether 00:c0:ca:8f:dd:45  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp3s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether 08:62:66:2b:52:52  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1  (Local Loopback)

        RX packets 16  bytes 1376 (1.3 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 16  bytes 1376 (1.3 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

sit0: flags=128<NOARP>  mtu 1480

        sit  txqueuelen 1  (IPv6-in-IPv4)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

```

Inside this wiki thread https://wiki.gentoo.org/wiki/Wifi its written to do some testing: ifconfig -v enp0s20u9 up has no achievement. After that, iwconfig only show "no wireless extensions" sentence.

From now on it seems no hardware problem, but software. It should be easy, as NeddySeagoon said...maybe configurations issue? I've followed too many wikis, maybe I've configuration scripts overiding each other?

Shed a little light, please.

Cheers

----------

## khayyam

 *Loriot wrote:*   

> 
> 
> ```
> wpa_supplicant -ienp0s20u9 -Dwext -c /etc/wpa_supplicant/wpa_supplicant.conf -d
> ```
> ...

 

Loriot ... all of the 'ioctal' errors are due to using -Dwext' rather than '-Dnl80211'. I expect your driver is using the later, and you should adjust your configuration to reflect this fact, eg:

```
wpa_supplicant_enp0s20u9="-Dnl80211 -qq"
```

 *Loriot wrote:*   

> 
> 
> ```
> Failed to initialize control interface '/var/run/wpa_supplicant'.
> 
> ...

 

This shows that you have another instance of wpa_supplicant started, or that was killed, and so the /var/run/wpa_supplicant still exists, or wasn't removed.

HTH & best ... khay

----------

## Loriot

Hello khayyam,

Thanks for your answer. It's written in https://wiki.gentoo.org/wiki/AC1200_Wireless_Adapters (in Notes section) the following:  *Quote:*   

> The RTL8812AU driver requires the Linux wireless extensions (wext) driver.

  and I'm afraid neither wext or nl80211 works.

wpa_supplicant -ienp0s20u9 -Dnl80211 -c /etc/wpa_supplicant/wpa_supplicant.conf -d

```
wpa_supplicant v2.6

random: Trying to read entropy from /dev/random

Successfully initialized wpa_supplicant

Initializing interface 'enp0s20u9' conf '/etc/wpa_supplicant/wpa_supplicant.conf' driver 'nl80211' ctrl_interface 'N/A' bridge 'N/A'

Configuration file '/etc/wpa_supplicant/wpa_supplicant.conf' -> '/etc/wpa_supplicant/wpa_supplicant.conf'

Reading configuration file '/etc/wpa_supplicant/wpa_supplicant.conf'

ctrl_interface='/var/run/wpa_supplicant'

ctrl_interface_group='wheel'

update_config=1

ap_scan=1

Priority group 5

   id=0 ssid='Orange-b1ee'

nl80211: Driver does not support authentication/association or connect commands

nl80211: deinit ifname=enp0s20u9 disabled_11b_rates=0

nl80211: Remove monitor interface: refcount=0

netlink: Operstate: ifindex=4 linkmode=0 (kernel-control), operstate=6 (IF_OPER_UP)

nl80211: Set mode ifindex 4 iftype 2 (STATION)

nl80211: Failed to set interface 4 to mode 2: -19 (No such device)

enp0s20u9: Failed to initialize driver interface

Failed to add interface enp0s20u9

enp0s20u9: Cancelling scan request

enp0s20u9: Cancelling authentication timeout

Off-channel: Clear pending Action frame TX (pending_action_tx=(nil)

```

/etc/conf.d/net

```
# WIRELESS

# enp0s20u9

modules_enp0s20u9="wpa_supplicant"

#modules="wpa_supplicant"

config_enp0s20u9="dhcp"

#config="dhcp"

wpa_supplicant_enp0s20u9="-Dnl80211 -qq"
```

module is loaded, kernel is like said in AC1200 drivers wiki. The only "remarkable" error was when I was executing the script left on that wiki, it tried to make a directory into /lib64/modules/$(uname -r)/kernel/drivers/net/wireless/rtlwifi/rtl8812au but no rtlwifi directory was between, so I made up myself and put the 8812au.ko in rtlwifi/rtl8812au. 

Thanks

----------

## charles17

 *Loriot wrote:*   

> wpa_supplicant.conf
> 
> ```
> ctrl_interface=/var/run/wpa_supplicant
> 
> ...

 

There was another topic with ctrl_interface_group yesterday, (see also the wiki article).

----------

## khayyam

 *Loriot wrote:*   

>  *Quote:*   The RTL8812AU driver requires the Linux wireless extensions (wext) driver. 

 

Loriot ... ok, in which case I don't see why you would get the above ioctl errors, what do you have enabled in the kernel?

```
# egrep '(WEXT|(MAC|CFG|NL)80211)' /usr/src/linux/.config
```

best ... khay

----------

## Loriot

 *khayyam wrote:*   

> 
> 
> Loriot ... ok, in which case I don't see why you would get the above ioctl errors, what do you have enabled in the kernel?
> 
> ```
> ...

 

egrep '(WEXT|(MAC|CFG|NL)80211)' /usr/src/linux/.config

```
CONFIG_WEXT_CORE=y

CONFIG_WEXT_PROC=y

CONFIG_CFG80211=y

# CONFIG_NL80211_TESTMODE is not set

# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set

CONFIG_CFG80211_DEFAULT_PS=y

# CONFIG_CFG80211_DEBUGFS is not set

# CONFIG_CFG80211_INTERNAL_REGDB is not set

CONFIG_CFG80211_CRDA_SUPPORT=y

CONFIG_CFG80211_WEXT=y

CONFIG_MAC80211=y

CONFIG_MAC80211_HAS_RC=y

CONFIG_MAC80211_RC_MINSTREL=y

CONFIG_MAC80211_RC_MINSTREL_HT=y

# CONFIG_MAC80211_RC_MINSTREL_VHT is not set

CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y

CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"

# CONFIG_MAC80211_MESH is not set

CONFIG_MAC80211_LEDS=y

# CONFIG_MAC80211_DEBUGFS is not set

# CONFIG_MAC80211_MESSAGE_TRACING is not set

# CONFIG_MAC80211_DEBUG_MENU is not set

CONFIG_MAC80211_STA_HASH_MAX_SIZE=0

# CONFIG_MAC80211_HWSIM is not set

```

Thanks

----------

## khayyam

Loriot ... that looks ok. I'm not entirely sure what's going on here, I think you've messed up the driver install. I checked the above wiki page and it states:

 *Quote:*   

> The Realtek 8812au USB driver (kernel 3.10) is available from https://github.com/gnab/rtl8812au.
> 
> The rtltek 8812au USB driver (kernel 4.3.14) is available from https://github.com/abperiasamy/rtl8812AU_8821AU_linux.

 

... so, I would assume you're using the latter, "rtl8812AU_8821AU_linux", and not the former (given the kernel version). However, you say you "execut[ed] the script", but that script doesn't point to that URI. I would start over, this time following the manual method, and using the above linked 4.3.x sources.

best ... khay

----------

## Loriot

 *khayyam wrote:*   

> so, I would assume you're using the latter, "rtl8812AU_8821AU_linux", and not the former (given the kernel version). However, you say you "execut[ed] the script", but that script doesn't point to that URI. I would start over, this time following the manual method, and using the above linked 4.3.x sources.

 

I really don't know which driver I was using before, but I downloaded both and gnab's version compile right and rtl8812AU_8821AU_linux's not, so I assume I was with gnab's (which didn't give me any compiling problems from the very beginning). So, if we discard gnab's it only left csssurf's. I'm gonna try it now and I'll report back. 

BTW, I'm little dizzy right now concerning which program I've to use to test my wireless connection. So we have dhcpcd (which can handle wpa_supplicant throughout a hook, I am wrong?), wpa_supplicant itself and, maybe ifconfig/iwconfig to see if the interface is up? If not, which will do you use?

Thank you all

--------------------

EDIT: ccssuf's didn't compile at all either

----------

## khayyam

 *Loriot wrote:*   

> BTW, I'm little dizzy right now concerning which program I've to use to test my wireless connection. So we have dhcpcd (which can handle wpa_supplicant throughout a hook, I am wrong?), wpa_supplicant itself and, maybe ifconfig/iwconfig to see if the interface is up? If not, which will do you use?

 

Loriot ... I don't use the dhcpcd hook, I use netifrc/openrc. I don't see the advantage of doing it otherwise (if anything it just introduces confusion, as you attest).

```
modules_enp0s20u9="!plug wpa_supplicant dhcpcd"

wpa_supplicant_enp0s20u9="-Dnl80211 -qq"

config_enp0s20u9="dhcp"
```

```
# ln -s /etc/init.d/net.lo /etc/init.d/net.enp0s20u9

# /etc/init.d/net.enp0s20u9 start
```

 *Loriot wrote:*   

> EDIT: ccssuf's didn't compile at all either

 

The above '4.3.x' link has the github account name "abperiasamy".

best ... khay

----------

## Loriot

 *khayyam wrote:*   

> The above '4.3.x' link has the github account name "abperiasamy".
> 
> 

 

Yeah, excuse me. I should had tried to be more intelligible. Some briefing:

gnab --> compile OK

abperiasamy --> doesn't compile (errors) *

csssuf --> doesn't compile (errors) **

* should I post the compile errors?

** this resource appears on AC1200 Adapters wiki

So apparently we are like in the beggining. Drivers prob? When I come home later I'll post some errors /etc/init.d/wpa_supplicant gives with some specific wpa_supplicant args. Maybe it'll help.

 *khayyam wrote:*   

> 
> 
> /etc/conf.d/net:
> 
> ```
> ...

 

I'm not at home right now, I'll try your test advice later. Thanks for sharing, I really appreciate your help.

Cheers

----------

