Author Topic: [Solved] New Laptop - wifi problems  (Read 1339 times)

Offline russell.eberhardt

  • Sr. Member
  • ****
  • Posts: 408
Re: New Laptop - wifi problems
« Reply #15 on: November 26, 2012, 06:51:09 AM »
Thanks guys, a bit more info:

The firmware installed was rtl8188.  However, I've installed rtl8192 and the connection seemed to be much more reliable.  There remained the problem that right clicking on the panel wifi indicator and selecting "Wireless networks" only displays the connected network and not the other 4 or 5 within range. I tried disconnecting the connection and the other networks appeared,  re-configured the connection (it had changed itself to WEP as Kjpetrie noted) but no connection.  Deleted the connection, rebooted and tried again but couldn't connect ???  ???

Incidentally, a search of the forum for the other distro shows that a number of users are having the same problem with the 32 bit version.  My 64 bit installation works fine though.

Russell
Desktop: Gigabyte GA-MA770T-UD3 motherboard, NVIDIA GeForce 8400GS, AMD Phenom II Quad Core Processor 3GHz, 4GB ram, 250GB + 500GB SATA HD,

Offline kjpetrie

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 3982
Re: New Laptop - wifi problems
« Reply #16 on: November 26, 2012, 10:51:48 AM »
My new kernel can still find the device. Looks as if the installation of the new kernel clobbered the old driver.

I edited /etc/wpa_supplicant.conf and removed the double quotes from the psk line. Then I clicked the netapplet but couldn't get the refresh to scan, so I closed that and right-clicked the netapplet. I went to Active networks and selected the wireless and it connected instantly.

After more experimenting - the quoting is not important, so leave it quoted. Connecting by Network Centre fails, changes the protocol to WEP Open, and removes the first character from the Pre-shared Key, possibly not in that order as any attempt to return the protocol to WPA-PSK will now be thrown straight back to WEP. I suspect the corruption of the stored key is the problem. Why this should be written during the connection process is unclear. One would think it only needs to be read. However, it would appear it is being read, (converted to an integer?), and written back, and although a 64-bit system can handle a 40-bit key that way, a 32-bit system loses the leading two characters of the hexadecimal version. One of these characters is replaced, presumably a failed attempt to store and replace the first two which has gone wrong! Probably an upstream bug, I would think. Presumably the author has only a 64-bit system on which to test. (Does this behaviour point in the direction of the libDrakX perl scripts?)

The problem could be in either the Wireless connection GUI (or more likely its backend) or wpa_supplicant. I suspect we need to roll back until the bug is fixed. I have tried setting update_config=0 but that makes no difference.

In the meantime, memorise the first digit of the Key. When the connection failed box appears, OK it and click configure. Set the protocol back to WPA-PSK and enter the first character at the beginning of the key. Click OK and wait a few seconds. It will now continue to try with the correct key and should eventually succeed.

Edit: Using wpa_cli to list, select and connect works well enough, but libdrakx-net is over 7 months old. Could this be one of those situations where a bug is exposed when a dependency is upgraded?
« Last Edit: November 26, 2012, 01:44:04 PM by kjpetrie »
-----------
KJP
-----------------------------------------------------------
PClos64 RC1 on Intel D945GCLF2 motherboard (Atom 330), 2GB DDR2 RAM, Maxtor STM325031, HL-DT-ST DVDRAM GSA-H42N, Amilo LSL 3220T monitor. Also Acer 5810TG (with custom kernel) and Asus eeePC 2G surf

Offline gseaman

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 3791
Re: New Laptop - wifi problems
« Reply #17 on: November 26, 2012, 09:51:46 PM »
Thanks, kjpetrie, for all of your investigations for this issue. If we get to a stage where the problem is fully understood, I stand ready to make new rpms. ;D

Galen

Offline russell.eberhardt

  • Sr. Member
  • ****
  • Posts: 408
Re: New Laptop - wifi problems
« Reply #18 on: November 27, 2012, 09:28:35 AM »
Tried again today and the connection worked from boot up.  Disconnected and tried to connect again and it wouldn't connect.  Went to configuration and it had changed to WEP again.  The first character of the key is NOT getting lost but I couldn't connect again.

Russell
Desktop: Gigabyte GA-MA770T-UD3 motherboard, NVIDIA GeForce 8400GS, AMD Phenom II Quad Core Processor 3GHz, 4GB ram, 250GB + 500GB SATA HD,

Offline russell.eberhardt

  • Sr. Member
  • ****
  • Posts: 408
Re: New Laptop - wifi problems
« Reply #19 on: November 27, 2012, 01:14:21 PM »
Thought I'd give PCLinuxOS 64bit test05 a go.  That doesn't work either.  Initial configuration program in PCC showed all networks and seemed to work in that it said it was successful and the panel applet showed connection.  The applet only showed the connected network and although it showed connected I couldn't ping the router.  Disconnecting and trying to connect and then set up again failed to connect.

Russell
Desktop: Gigabyte GA-MA770T-UD3 motherboard, NVIDIA GeForce 8400GS, AMD Phenom II Quad Core Processor 3GHz, 4GB ram, 250GB + 500GB SATA HD,

Offline kjpetrie

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 3982
Re: New Laptop - wifi problems
« Reply #20 on: November 27, 2012, 05:48:55 PM »
Truncation of the key seems not always to happen, but I've managed to start investigating around drakx-net. I added some diagnostic lines to connection_manager.pm:
Quote
sub start_connection {
    my ($cmanager) = @_;print "start_connection\n".`tail -n 60 /etc/wpa_supplicant.conf\n\n`;

    $cmanager->{connection} or return;
    if ($cmanager->{connection}->can('get_networks')) {print "get_networks\n".`tail -n 60 /etc/wpa_supplicant.conf\n\n`;
        $cmanager->{connection}{network} &&
        ($cmanager->{connection}->selected_network_is_configured ||
         $cmanager->configure_connection)
          or return;
    }

    gtkset_mousecursor_wait($cmanager->{gui}{w}{window}->window);
    my $wait = $cmanager->{in}->wait_message(N("Please wait"), N("Connecting..."));
    if ($cmanager->{connection}->can('apply_network_selection')) {print "apply_network_selection\n".`tail -n 60 /etc/wpa_supplicant.conf\n\n`;
        $cmanager->load_settings;
        $cmanager->{connection}->apply_network_selection($cmanager);
    }
    $cmanager->{connection}->prepare_connection if $cmanager->{connection}->can('prepare_connection');print "about to connect\n".`tail -n 60 /etc/wpa_supplicant.conf\n\n`;
    $cmanager->{connection}->disconnect;
    $cmanager->{connection}->connect($cmanager->{in}, $cmanager->{net});
    gtkset_mousecursor_normal($cmanager->{gui}{w}{window}->window);

    $cmanager->update_on_status_change;
    if ($cmanager->{wait_message_timeout}) {
        $cmanager->{wait_message} = $wait;
        Glib::Timeout->add($cmanager->{wait_message_timeout},
            sub {
                if ($cmanager->{wait_message}) {
               undef $cmanager->{wait_message};
               $cmanager->{in}->ask_warn(N("Error"), N("Connection failed."))
                                     if !$cmanager->{connection}->get_status;
                }
                undef;
            });
    };
}


This yielded:
Code: [Select]
start_connection
# }

network={
    priority=1
    scan_ssid=0
    ssid="AAA"
    auth_alg=OPEN
    psk="xxxxxxxxxx"
}

network={
    psk="xxxxxx"
    priority=1
    scan_ssid=0
    ssid="BBB"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="CCC"
}

network={
    priority=1
    scan_ssid=0
    ssid="MyNetwork"
    auth_alg=OPEN
    psk="xxxxxxxxxx"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="DDD"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="EEE"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="FFF"
}

network={
    psk="xxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="GGG"
}

get_networks
# }

network={
    priority=1
    scan_ssid=0
    ssid="AAA"
    auth_alg=OPEN
    psk="xxxxxxxxxx"
}

network={
    psk="xxxxxx"
    priority=1
    scan_ssid=0
    ssid="BBB"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="CCC"
}

network={
    priority=1
    scan_ssid=0
    ssid="MyNetwork"
    auth_alg=OPEN
    psk="xxxxxxxxxx"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="DDD"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="EEE"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="FFF"
}

network={
    psk="xxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="GGG"
}

Gtk-CRITICAL **: gtk_cell_view_set_cell_data: assertion `cell_view->priv->displayed_row != NULL' failed at /usr/lib/libDrakX/interactive/gtk.pm line 522.
Gtk-CRITICAL **: gtk_cell_view_set_cell_data: assertion `cell_view->priv->displayed_row != NULL' failed at /usr/lib/libDrakX/interactive/gtk.pm line 522.
Gtk-CRITICAL **: gtk_cell_view_set_cell_data: assertion `cell_view->priv->displayed_row != NULL' failed at /usr/lib/libDrakX/interactive/gtk.pm line 522.
Gtk-CRITICAL **: gtk_cell_view_set_cell_data: assertion `cell_view->priv->displayed_row != NULL' failed at /usr/lib/libDrakX/interactive/gtk.pm line 522.
Gtk-CRITICAL **: gtk_cell_view_set_cell_data: assertion `cell_view->priv->displayed_row != NULL' failed at /usr/lib/libDrakX/interactive/gtk.pm line 522.
Failed to connect to wpa_supplicant - wpa_ctrl_open: No such file or directory
Failed to create host name resolver: Invalid host name
run-parts: /etc/sysconfig/network-scripts/hostname.d/avahi exited with return code 1
received SIGHUP, reloading network configuration
apply_network_selection
# }

network={
    priority=1
    scan_ssid=0
    ssid="AAA"
    auth_alg=OPEN
    psk="xxxxxxxxxx"
}

network={
    psk="xxxxxx"
    priority=1
    scan_ssid=0
    ssid="BBB"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="CCC"
}

network={
    priority=1
    scan_ssid=0
    ssid="MyNetwork"
    auth_alg=OPEN
    psk="xxxxxxxxxx"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="DDD"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="EEE"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="FFF"
}

network={
    psk="xxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="GGG"
}

Failed to connect to wpa_supplicant - wpa_ctrl_open: No such file or directory
about to connect
    priority=1
    scan_ssid=0
    ssid="AAA"
    auth_alg=OPEN
    psk="xxxxxxxxxx"
}

network={
    psk="xxxxxx"
    priority=1
    scan_ssid=0
    ssid="BBB"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="CCC"
}

network={
    priority=1
    scan_ssid=0
    ssid="MyNetwork"
    auth_alg=OPEN
    key_mgmt=NONE
    wep_key0="xxxxxxxxxx"
    wep_tx_keyidx=0
    mode=0
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="DDD"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="EEE"
}

network={
    psk="xxxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="FFF"
}

network={
    psk="xxxxxxxxx"
    priority=1
    scan_ssid=0
    ssid="GGG"
}

Failed to kill daemon. (No such file or directory)
Error for wireless request "Set Encode" (8B2A) :
    SET failed on device wlan0 ; Invalid argument.
Gtk-CRITICAL **: gtk_cell_view_set_cell_data: assertion `cell_view->priv->displayed_row != NULL' failed at /usr/lib/libDrakX/interactive/gtk.pm line 522.
Gtk-CRITICAL **: gtk_cell_view_set_cell_data: assertion `cell_view->priv->displayed_row != NULL' failed at /usr/lib/libDrakX/interactive/gtk.pm line 522.
Gtk-CRITICAL **: gtk_cell_view_set_cell_data: assertion `cell_view->priv->displayed_row != NULL' failed at /usr/lib/libDrakX/interactive/gtk.pm line 522.
Gtk-CRITICAL **: gtk_cell_view_set_cell_data: assertion `cell_view->priv->displayed_row != NULL' failed at /usr/lib/libDrakX/interactive/gtk.pm line 522.
Gtk-CRITICAL **: gtk_cell_view_set_cell_data: assertion `cell_view->priv->displayed_row != NULL' failed at /usr/lib/libDrakX/interactive/gtk.pm line 522.

This shows the WEP interface being created before the last tail command. Not sure if this helps but will keep investigating when I can.

I also note Mandriva have a later version of drakx-net at http://ftp.heanet.ie/pub/mandriva/Mandrakelinux/official/current/SRPMS/main/updates/ but as that's over a year old I'm not sure it will help.
-----------
KJP
-----------------------------------------------------------
PClos64 RC1 on Intel D945GCLF2 motherboard (Atom 330), 2GB DDR2 RAM, Maxtor STM325031, HL-DT-ST DVDRAM GSA-H42N, Amilo LSL 3220T monitor. Also Acer 5810TG (with custom kernel) and Asus eeePC 2G surf

Offline russell.eberhardt

  • Sr. Member
  • ****
  • Posts: 408
Re: New Laptop - wifi problems
« Reply #21 on: November 28, 2012, 03:36:30 AM »
Terry's new version of libdrax-net has fixed this for me, well mostly.  There still seems to be a problem with the panel applet.  If I disconnect with that and try to reconnect it fails.  However if I reconfigure with PCC it comes back.

So.. I'm marking this solved.

Russell
PS. Just  tried disconnect/connect again from the applet and it now works :)
« Last Edit: November 28, 2012, 03:40:58 AM by russell.eberhardt »
Desktop: Gigabyte GA-MA770T-UD3 motherboard, NVIDIA GeForce 8400GS, AMD Phenom II Quad Core Processor 3GHz, 4GB ram, 250GB + 500GB SATA HD,

Offline kjpetrie

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 3982
-----------
KJP
-----------------------------------------------------------
PClos64 RC1 on Intel D945GCLF2 motherboard (Atom 330), 2GB DDR2 RAM, Maxtor STM325031, HL-DT-ST DVDRAM GSA-H42N, Amilo LSL 3220T monitor. Also Acer 5810TG (with custom kernel) and Asus eeePC 2G surf