Wifi doesn't work in Lubuntu 14.04

Asked by Giorgio Pintaudi on 2014-04-30

Hello I have just installed Lubuntu 14.04 on a AC100. I cannot make wifi work in Lubuntu anyway.
I have set up dual-boot with Android and when I boot in this last one, wifi works flawlessly.
I have a feeling that there is some problems with USB power management.

The kernel doesn't load the rt2800usb module. There are some errors in dmesg of the type:
usb 1-1: device descriptor read/64, error -71
usb 1-1: device not accepting address 4, error -71

I tried to boot the kernel with the "usbcore.autosuspend=-1" and "usbcore.old-scheme-first=1" options.
I have tried to unplug everything and wait 5 minutes before rebooting.

here some useful logs:
lsmod - https://drive.google.com/file/d/0B0VJUB4eOu4LRDlEU1NGVHJNSm8/edit?usp=sharing
uname - https://drive.google.com/file/d/0B0VJUB4eOu4LRXRscU01QU5fQ28/edit?usp=sharing
dmesg - https://drive.google.com/file/d/0B0VJUB4eOu4LSDhCWUFUQTJ4TGc/edit?usp=sharing
modinfo rt2800usb - https://drive.google.com/file/d/0B0VJUB4eOu4LX2N0NkhZaUtlZ2s/edit?usp=sharing
boot.cmd - https://drive.google.com/file/d/0B0VJUB4eOu4LcHRQY1JVOVF1bTQ/edit?usp=sharing

PS I upgraded the kernel from the stock version since wifi wasn't working. The problem is the same in both!

Question information

English Edit question
AC100_enablement Edit question
No assignee Edit question
Solved by:
Marc Dietrich
Last query:
Last reply:
Marc Dietrich (marvin24) said : #1

could be an ubuntu kernel issue. It's better to compile a kernel (mainline 3.15) yourself because this one is very outdated and maybe broken with uboot. Maybe the android kernel has some workaround, but I don't know which one right now.

I will try to compile the 3.14.1 that is the last stable trusty kernel. In the meanwhile I tried to install Ubuntu 13.10 as shown in the guide http://ac100.wikispaces.com/uboot+installation and the issue is still the very same!

thanks for the hint. I have tried to compile my own kernel. I used the ubuntu-trusty master branch.
The kernel I found there is 3.13.11
This is the very detailed list of all steps I followed. Still can't boot ...

extracted ubuntu-12.04-preinstalled-desktop-armhf+ac100.tar.gz on /dev/mmcblk0p7 as explained in the guide https://code.google.com/p/cm-paz00/wiki/InstallGuide

on my Ubuntu desktop pc:

git clone git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git
export INSTALL_MOD_PATH=./modules_install
export CROSS_COMPILE=arm-linux-gnueabihf-
export ARCH=arm
mkdir -p modules_install/lib/firmware
make tegra_defconfig
make -j8 bzImage
make -j8 modules
make -j8 dtbs
make -j8 modules_install
make -j8 firmware_install
cat arch/arm/boot/dts/tegra20-paz00.dtb >> arch/arm/boot/zImage

copied needed files on sdcard and on the pc

sudo nvflash --bl sos-uboot-r5-2013-11-10.bin --go

on toshiba in the sosboot kernel

mkdir /mnt/sd
mount -t vfat /dev/mmcblk0p1 /mnt/sd
mkdir /mnt/root
mount -t ext4 /dev/mmcblk1p7 /mnt/root
cp /mnt/sd/all.db.fixed /mnt/root/usr/share/flash-kernel/db/all.db
cp /mnt/sd/u-boot-tools_2013.10-3_armhf.deb /mnt/root/tmp
cp -r /mnt/sd/modules_install/* /mnt/root/
cp /mnt/sd/zImage /mnt/root/vmlinuz-3.13.11
cp /mnt/sd/tegra_defconfig /mnt/root/config-3.13.11
chroot /mnt/root
/mnt/sd/help.sh mount_vfs
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
dpkg -i /tmp/u-boot-tools_2013.10-3_armhf.deb
update-initramfs -v -c -k 3.13.11
mkimage -A arm -O linux -T ramdisk -C gzip -n "initramfs" -d initrd-3.13.11.img uInitrd-3.13.11
/mnt/sd/help.sh umount_vfs
umount /mnt/root
umount /mnt/sd

boot with this boot.src
setenv bootmenu_4 'Boot LUBUNTU 14.04 (Kernel 3.13.11)=mmc dev 0;\
setenv bootargs "cma=64M root=/dev/mmcblk0p7 rootwait quiet splash";\
ext2load mmc 0:7 0x1000000 /boot/vmlinuz-3.13.11;\
ext2load mmc 0:7 0x2200000 /boot/uInitrd-3.13.11;\
bootz 0x1000000 0x2200000;'

kernel and initrd loads successfully but then system freezes, what I have done wrong?

I have tried various bootargs strings without success. I even tried to install https://launchpad.net/~ac100/+archive/ppa/+build/4564173 through dpkg -i
but the situation is the same as the previous kernel.

The most promising boot command line was:
cma=64M root=/dev/mmcblk0p7 console=ttyS0,115200n8 no_console_suspend=1 ignore_loglevel earlyprintk initcall_debug splash
but this one also failed

It took me tens of hours to realize but then I modified the boot.src this way:

setenv bootmenu_2 'Boot LUBUNTU 14.04 (3.8.0-20-tegra)=
mmc dev 0;
setenv bootargs "cma=64M root=/dev/disk/by-partuuid/3dd0634c-7647-48dd-8af0-6d93ca08f832 tegrapart=recovery:300:a00:800,boot:d00:1000:800,mbr:1d00:200:800 rootwait quiet splash";
ext2load mmc 0:7 0x1000000 /boot/vmlinuz-3.8.0-20-tegra;
ext2load mmc 0:7 0x2000000 /boot/tegra20-paz00-3.8.0-20-tegra.dtb;
ext2load mmc 0:7 0x2200000 /boot/uInitrd-3.8.0-20-tegra;
bootz 0x1000000 0x2200000 0x2000000;'

and the kernel loaded. Wifi works fine. I considered solved the issue but I would like to ask 2 more questions.

First: Where can I get help and support for the AC100. I feel very unconfortable to post here because, even if you guys have been very kind with me, I fear that I bothered you a bit. Is there a forum where can I ask this kind of questions?

Second: I have tried to compile this three kernels
git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git (master branch)
git://gitorious.org/ac100/marvin24s-kernel.git (linux-ac100-3.14 branch)
In all cases the compiling process went smooth but the installed kernel modules were only a bunch, only a fraction of the one shipped with the stock Ubuntu kernel. Is that normal?


Best Marc Dietrich (marvin24) said : #6

yes, launchpad is the worst channel to use. Best is to ask in IRC channel #ac100 on freenode. Just ask and you may get an answer sooner or later.

and yes, tegra_defconfig has most stuff compiled-in (in contrast to distro kernels) and only wifi modules because that is required to get them working propably.

Thanks again Marc Dietrich.

Thanks Marc Dietrich, that solved my question.