[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Debian on the ASUS EeePC 1005PE



Hi,

I got an ASUS EeePC 1005PE a few days ago and am trying to install
Debian testing on it.

There have been several problems so far:

1. My model has a different wireless card that listed on [1] that was
not yet supported by Debian's Linux kernel.  It seems to be the card
that is listed for the 1001P and 1005P.

There was a patch [2] to add support for this card.  I tried to backport
it the Debian's kernel (patch attached).  So far I can scan for wireless
networks, but I did not manage to set up hostap or ad-hoc mode to
connect to my other computer (I don't have an access point available
here).

[1] http://wiki.debian.org/DebianEeePC/Models
[2] http://bugzilla.kernel.org/show_bug.cgi?id=15180

2. The Ethernet card disappeared completely.  It did no longer show up
in the output from lspci, nor was it accessible in Windows.  This
problem persisted over shutdowns as well.  Removing the battery and
disconnecting the power supply luckily made the card show up again.

A patch was available for this issue on a different EeePC model [3].
This one was not so easy to backport, so I just changed it to disable
hot-plug always (patch attached).  This solved this issue for me: the
Ethernet card does no longer disappear.

[3] http://bugzilla.kernel.org/show_bug.cgi?id=14570

3. I still have problems connecting the EeePC to my DSL modem.
I can connect the EeePC to my other computer via Ethernet, but when I
connect it to the DSL modem it does not work correctly: I can see
incoming packages, but outgoing packages (DHCP, ARP requests) do not
seem to make it to the DSL modem: The activity indicator there does show
nothing in this case.  Windows has the same problem, but I think it
managed to get an IP address once (it usually does not, same as
Debian).

I think this last problem might be an issue with the cable, but it
prevents me to connect the EeePC to the Internet as I didn't manage to
connect both computer via wireless LAN either.  I am thus stuck with a
base system for now as I used a netinstall CD image.

Ideas how I can continue to investigate these problems are welcome :)

Regards,
Ansgar
> From 5ffaf8a361b4c9025963959a744f21d8173c7669 Mon Sep 17 00:00:00 2001
From: Luis R. Rodriguez <lrodriguez@atheros.com>
Date: Tue, 2 Feb 2010 11:58:33 -0500
Subject: [PATCH 1/1] ath9k: add support for 802.11n bonded out AR2427

Some single chip family devices are sold in the market with
802.11n bonded out, these have no hardware capability for
802.11n but ath9k can still support them. These are called
AR2427.

Cc: stable@kernel.org
Reported-by: Rolf Leggewie <bugzilla.kernel.org@rolf.leggewie.biz>
Tested-by: Bernhard Reiter <ockham@raz.or.at>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

(Backported for Debian by Ansgar Burchardt <ansgar@43-1.org>)

--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -398,7 +398,6 @@ static void ath9k_hw_init_config(struct ath_hw *ah)
 	ah->config.pcie_clock_req = 0;
 	ah->config.pcie_waen = 0;
 	ah->config.analog_shiftreg = 1;
-	ah->config.ht_enable = 1;
 	ah->config.ofdm_trig_low = 200;
 	ah->config.ofdm_trig_high = 500;
 	ah->config.cck_trig_high = 200;
@@ -412,6 +411,11 @@ static void ath9k_hw_init_config(struct ath_hw *ah)
 		ah->config.spurchans[i][1] = AR_NO_SPUR;
 	}
 
+	if (ah->hw_version.devid != AR2427_DEVID_PCIE)
+		ah->config.ht_enable = 1;
+	else
+		ah->config.ht_enable = 0;
+
 	ah->config.intr_mitigation = true;
 
 	/*
@@ -617,6 +621,7 @@ static bool ath9k_hw_devid_supported(u16 devid)
 	case AR9285_DEVID_PCIE:
 	case AR5416_DEVID_AR9287_PCI:
 	case AR5416_DEVID_AR9287_PCIE:
+	case AR2427_DEVID_PCIE:
 		return true;
 	default:
 		break;
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -37,6 +37,7 @@
 #define AR9280_DEVID_PCI	0x0029
 #define AR9280_DEVID_PCIE	0x002a
 #define AR9285_DEVID_PCIE	0x002b
+#define AR2427_DEVID_PCIE	0x002c
 #define AR5416_AR9100_DEVID	0x000b
 #define	AR_SUBVENDOR_ID_NOG	0x0e11
 #define AR_SUBVENDOR_ID_NEW_A	0x7065
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1541,11 +1541,13 @@ void ath_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
 	hw->flags = IEEE80211_HW_RX_INCLUDES_FCS |
 		IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
 		IEEE80211_HW_SIGNAL_DBM |
-		IEEE80211_HW_AMPDU_AGGREGATION |
 		IEEE80211_HW_SUPPORTS_PS |
 		IEEE80211_HW_PS_NULLFUNC_STACK |
 		IEEE80211_HW_SPECTRUM_MGMT;
 
+	if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_HT)
+		hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION;
+
 	if (AR_SREV_9160_10_OR_LATER(sc->sc_ah) || modparam_nohwcrypt)
 		hw->flags |= IEEE80211_HW_MFP_CAPABLE;
 
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -25,6 +25,7 @@ static struct pci_device_id ath_pci_id_table[] __devinitdata = {
 	{ PCI_VDEVICE(ATHEROS, 0x0029) }, /* PCI   */
 	{ PCI_VDEVICE(ATHEROS, 0x002A) }, /* PCI-E */
 	{ PCI_VDEVICE(ATHEROS, 0x002B) }, /* PCI-E */
+	{ PCI_VDEVICE(ATHEROS, 0x002C) }, /* PCI-E 802.11n bonded out */
 	{ PCI_VDEVICE(ATHEROS, 0x002D) }, /* PCI   */
 	{ PCI_VDEVICE(ATHEROS, 0x002E) }, /* PCI-E */
 	{ 0 }
Disable hotplug.

See 10ae4b5663ff3092553bfbd867e7bd474ce6c553
    (eeepc-laptop: dmi blacklist to disable pci hotplug code)

diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c
index 4226e53..84ce020 100644
--- a/drivers/platform/x86/eeepc-laptop.c
+++ b/drivers/platform/x86/eeepc-laptop.c
@@ -1095,6 +1095,9 @@ static int eeepc_rfkill_init(struct device *dev)
 	if (result && result != -ENODEV)
 		goto exit;
 
+	/* disable hotplug */
+	return 0;
+
 	result = eeepc_setup_pci_hotplug();
 	/*
 	 * If we get -EBUSY then something else is handling the PCI hotplug -

Reply to: