無法降級 wpa_supplicant 以修復 Ubuntu 18.04 中與企業網路的 Wi-Fi 連線(沒有 CA 憑證的 WPA2/PEAP)

無法降級 wpa_supplicant 以修復 Ubuntu 18.04 中與企業網路的 Wi-Fi 連線(沒有 CA 憑證的 WPA2/PEAP)

我最近將我的 Ubuntu 從 16.04 升級到 18.04(全新安裝,完全擦除)。現在我無法再連接到我辦公室的公司網路(可能與這些錯誤有關:錯誤1,錯誤2)。事實證明,在 Ubuntu 16.04 中解決這個問題的答案是這個問題;降級wpa_supplicant到2.1。

然而,即使使用 linode 儲存庫,此修復程式也不再適用。wpa_supplicant據我所知,Ubuntu 18.04沒有低於 2.6 的版本。

我的問題是:如何將 Ubuntu 18.04 的 wpa_supplicant 降級到 2.1?

公司wifi連線所需的設定:

  • 安全性:WPA 和 WPA2 企業版
  • 身份驗證:受保護的 EAP (PEAP)
  • 複選框 不需要 CA 憑證。
  • 內部身分驗證:MSCHAPv2

答案1

我找到了一個解決方案,並且它運行完美。步驟如下:

  1. 新增 Ubuntu Vivid 和 Xenial 儲存庫。

    $ cat <<'EOF' | sudo tee /etc/apt/sources.list.d/vivid.list
    deb http://old-releases.ubuntu.com/ubuntu/ vivid main restricted universe multiverse
    deb http://old-releases.ubuntu.com/ubuntu/ vivid-updates main restricted universe multiverse
    deb http://old-releases.ubuntu.com/ubuntu/ vivid-security main restricted universe multiverse
    EOF
    
    $ cat <<'EOF' | sudo tee /etc/apt/sources.list.d/xenial.list
    deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
    EOF
    
  2. 更新您的倉庫清單。

    $ sudo apt -y update
    
  3. 降級 wpasupplicant 並安裝 libssl。

    $ sudo apt -y --allow-downgrades install wpasupplicant=2.1-0ubuntu7.3
    
    $ sudo apt -y --allow-downgrades install libssl1.0.0=1.0.2g-1ubuntu4.14
    
  4. 為最近安裝的軟體包設定優先權。

    $ sudo echo -e "Package: wpasupplicant\nPin: release o=Ubuntu,n=vivid\nPin-Priority: 1001" | sudo tee /etc/apt/preferences.d/vivid
    
    $ sudo echo -e "Package: libssl1.0.0\nPin: release o=Ubuntu,n=xenial\nPin-Priority: 1001" | sudo tee /etc/apt/preferences.d/xenial
    
  5. 重啟你的電腦。

學分: http://viranzo.blogs.upv.es/2018/09/11/downgrade-wpa_supplicant-ubuntu-18-04

答案2

這是固定的。這適用於 Ubuntu 18.04 MATE。

需要獲取https://launchpad.net/ubuntu/+source/wpa/2:2.4-1.1ubuntu1的版本wpa_supplicant

準備好這些文件來建構:

wpa_2.4.orig.tar.xz                   1.7 MiB   a1e4eda50796b2234a6cd2f00748bbe09f38f3f621919187289162faeb50b6b8
wpa_2.4-1.1ubuntu1.debian.tar.xz    101.0 KiB   05668f7d4cc9111c3760622199006e726da0bd7929340106380d7aac92853d4e
wpa_2.4-1.1ubuntu1.dsc                2.6 KiB   26ece998f27884d4c80c85088ecb1fd4217b1da6ed227729499f626707ff9af3

與類似的東西

dpkg-source -x wpa_2.4-1.1ubuntu1.dsc 

安裝依賴項:

sudo apt-get install g++ debhelper libdbus-1-dev libssl1.0-dev libqt4-dev libncurses5-dev libpcsclite-dev libnl-3-dev libnl-genl-3-dev libnl-route-3-dev libpcap-dev libbsd-dev libreadline-dev pkg-config qt4-qmake docbook-to-man docbook-utils android-headers 

(這些在文件中有描述.dsc

然後構建它

cd wpa-2.4/
dpkg-buildpackage -us -uc -d

它應該吐出一些.deb文件來安裝

喜歡:

cd ..
sudo dpkg -i wpasupplicant_2.4-1.1ubuntu1_amd64.deb 

如果你沒有經驗,你會遇到一些問題,但這應該給你一個開始的地方...

我保證它適用於我的英特爾無線(iwl韌體和驅動程式),但無法使用身份驗證憑證連接到 wpa2 企業 tls。現在它的運作方式就像 16.04 一樣。

尋找幫助編譯的關鍵字可能是 google:how to compile debian source code 或https://wiki.debian.org/BuildingTutorial

答案3

我剛剛下載了舊版本的 wpasupplicant (2.4-1.1) 並安裝了:

dpkg -i wpasupplicant_2.4-1.1ubuntu1_amd64.deb

它解決了我的問題。

此舊版 wpasupplicant 的 .udeb 檔案可在 Launchpad 上下載:wpasupplicant_2.4-1.1ubuntu1_amd64.deb

相關內容