Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[DEV] Ubuntu 11.10 for A43/A101 [RELEASE 1]

OP CalcProgrammer1

24th April 2012, 08:30 PM   |  #51  
Member
Thanks Meter: 7
 
55 posts
Join Date:Joined: Mar 2012
I'm actually struggling with getting a Kernel source + .config that boot up on my a101.
I've reinstall a new box with Ubuntu 12.04, I've compiled the toolchain, but I've made so much test on all the kernel sources and .config that I have ... I'm a little lost.
Seems that I've found a .config that is working with Nicktime's git repo, I'll try to make the touchscreen working by adding the device ID in the generic touchscreen driver. I'll tell if that made a difference or not.

---------- Post added at 08:30 PM ---------- Previous post was at 08:04 PM ----------

GOT IT!

Well almost.
The touchscreen is reacting, but as the display is upside-down, the touchscreen is inverted (ie I have to touch the bottom-right side of the screen to click on the upper-left).

What I did (In nicktime's archos-linux-2-6-37-gen8) :
drivers/hid/hid-ids.h
replace:
Code:
#define USB_VENDOR_ID_UNITEC    0x227d
#define USB_DEVICE_ID_UNITEC_USB_TOUCH_0709     0x0709
#define USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19     0x0a19
by:
Code:
#define USB_VENDOR_ID_UNITEC    0x227d
#define USB_DEVICE_ID_UNITEC_USB_TOUCH_0709     0x0709
#define USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19     0x0a19

#define USB_DEVICE_ID_UNITEC_10_TS_V0   0x0a19
#define USB_DEVICE_ID_UNITEC_10_TS_V1   0x0a1a
In drivers/hid/hid-multitouch.c:
Replace
Code:
 /* Unitec panels */
        { .driver_data = MT_CLS_DEFAULT,
                HID_USB_DEVICE(USB_VENDOR_ID_UNITEC,
                        USB_DEVICE_ID_UNITEC_USB_TOUCH_0709) },
        { .driver_data = MT_CLS_DEFAULT,
                HID_USB_DEVICE(USB_VENDOR_ID_UNITEC,
                        USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19) },
        { }
by

Code:
 /* Unitec panels */
        { .driver_data = MT_CLS_DEFAULT,
                HID_USB_DEVICE(USB_VENDOR_ID_UNITEC,
                        USB_DEVICE_ID_UNITEC_USB_TOUCH_0709) },
        { .driver_data = MT_CLS_DEFAULT,
                HID_USB_DEVICE(USB_VENDOR_ID_UNITEC,
                        USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19) },
        { .driver_data = MT_CLS_DEFAULT,
                HID_USB_DEVICE(USB_VENDOR_ID_UNITEC,
                        USB_DEVICE_ID_UNITEC_10_TS_V0) },
        { .driver_data = MT_CLS_DEFAULT,
                HID_USB_DEVICE(USB_VENDOR_ID_UNITEC,
                        USB_DEVICE_ID_UNITEC_10_TS_V1) },

        { }
Those modifications just tell the hid-multitouch driver to handle the 0x0A1A device.
Now, I've got to find where in the .config (or source file) is the screen invertion.
The Following 2 Users Say Thank You to grim-a101 For This Useful Post: [ View ]
24th April 2012, 08:56 PM   |  #52  
OP Senior Member
Flag Kansas City
Thanks Meter: 756
 
643 posts
Join Date:Joined: Oct 2007
More
Awesome! I'm trying to fix the USB issue on the A43 now too, but for some reason I can't even get it to boot properly (using arm-linux-gnueabi-gcc compiler included in Ubuntu, perhaps the update to 12.04 screwed it up?). I don't have much time today to keep working, but as soon as I can get my compiler fixed up and booting, I'll merge your changes.

You may try the screen rotation boot arguments as I described in the second post, though instead of rotating 90 degrees rotate 180. The A43's panel is oriented correctly with the touchscreen, but it's vertical and I want landscape, though doing that screws up the touchscreen as well for me.
The Following User Says Thank You to CalcProgrammer1 For This Useful Post: [ View ]
24th April 2012, 09:15 PM   |  #53  
Member
Thanks Meter: 7
 
55 posts
Join Date:Joined: Mar 2012
Thanks!
omapfb.vrfb=y omapfb.rotate=2 on the CMDLINE did the trick!

The screen is now in the "good" direction, at least the same as the touchscreen.

I'll check later for the USB Host, I've kickly looked at the board-archos-a101it.c file, it seems to be defined a 500mA if read it correctly.

At least, now Ubuntu is usable, so I'll try to plug/unplug some stuff inside the USB Host and look at the syslog to see if there is some info in there
24th April 2012, 11:17 PM   |  #54  
Member
Thanks Meter: 7
 
55 posts
Join Date:Joined: Mar 2012
Well, I don't know if this is due to the fact that my rootfs is on a (bad?) SDCard, but the whole system is extremly slow, and can't really do anything once I'm logged id.
Plus, I can't get an onscreen keyboard (the a11y icon is not up there once logged in) and it's so laggy that I can't use the Unity main menu.

I'll maybe make a try on the Internal Memory, if I found how to make an extf3 partition without breaking everything (and not bricking it, my wife would kill me )

EDIT : I think I've figure this out (partitioning). Simply plug the device in Recovery / MMC, and resize the FAT32 in order to make place for the new ext3 one. Well, I first need to make some room, as it is only a 8Go A101IT!
Last edited by grim-a101; 24th April 2012 at 11:34 PM.
24th April 2012, 11:32 PM   |  #55  
OP Senior Member
Flag Kansas City
Thanks Meter: 756
 
643 posts
Join Date:Joined: Oct 2007
More
When I used an SD card it was really slow too, not sure why. You can put "mmcX" as the LED trigger in the arch/arm/mach-omap2/archos-leds.c file under the power LED trigger. This will make the power LED into a disk activity LED and you will be able to tell if it's working or just plain locked up.

As long as you make your partition on the user drive you should be fine. I have 3 partitions on mine, the first should be the storage data drive though. Note that this kernel identifies blocks differently than the stock, MMC0 is the SD card in this kernel and if it is removed then MMC0 becomes the internal memory (really annoying) so when you set up your kernel cmdline for the new drive you must take into account whether or not you're going to have the SD card inserted.
The Following User Says Thank You to CalcProgrammer1 For This Useful Post: [ View ]
25th April 2012, 12:07 AM   |  #56  
Member
Thanks Meter: 7
 
55 posts
Join Date:Joined: Mar 2012
Quote:
Originally Posted by CalcProgrammer1

As long as you make your partition on the user drive you should be fine.

That's what I've figured out. I'm actually resizing the FAT32 partition, and make a new ext3 after that.
I'll go for the start without SD Card, so I guess that my new root will be /dev/mmcblk0p2 (p1 is the FAT32 one I suppose).

---------- Post added at 12:07 AM ---------- Previous post was at 12:00 AM ----------

Quote:
Originally Posted by CalcProgrammer1

You can put "mmcX" as the LED trigger in the arch/arm/mach-omap2/archos-leds.c file under the power LED trigger. This will make the power LED into a disk activity LED and you will be able to tell if it's working or just plain locked up.

Not sure if this is the right things to do, but I'll go to editing
Code:
.default_trigger        = "default-on",
into
Code:
.default_trigger        = "mmc0",
Am I right?
25th April 2012, 01:15 AM   |  #57  
Member
Thanks Meter: 7
 
55 posts
Join Date:Joined: Mar 2012
Found myself that I was right
My new issue is that I must have miscopied my rootfs from my SDCard to my Internal Memory. The rootfs is well mounted, but it then complains about missing init.
I'm getting a fresh root from your 2 files from the first post, and see if it boots up
25th April 2012, 01:26 AM   |  #58  
OP Senior Member
Flag Kansas City
Thanks Meter: 756
 
643 posts
Join Date:Joined: Oct 2007
More
Make sure you set your root= cmdline properly, look at the init messages and you'll see when it mounts the card, if you leave your SD card in it should be /dev/mmcblk2p2 (mmcblk0 is SD, mmcblk1 is system, mmcblk2 is user). If you remove the SD then it is /dev/mmcblk1p2 (where mmcblk0 is system and mmcblk1 is user). The third mmc that it detects is actually the WLAN card which uses the SDIO interface.

Also, what compiler are you using? For some reason my builds aren't working and I don't know whether my compiler changed or my config is broken.
Last edited by CalcProgrammer1; 25th April 2012 at 01:29 AM.
25th April 2012, 01:43 AM   |  #59  
Member
Thanks Meter: 7
 
55 posts
Join Date:Joined: Mar 2012
Don't know why, but with the SDCard in, if I use /dev/mmcblk2p2 as root, it complains about not being able to find it.
It now boots without SDCard in and with /dev/mmcblk1p2 as root. I'll try to understand later why it doesn't work with /dev/mmcblk2p2 and SDCard in.

Thanks again for all your explainations

Let's see now if it runs smoother or not now that the rootfs is in internal memory

---------- Post added at 01:43 AM ---------- Previous post was at 01:39 AM ----------

Quote:
Originally Posted by CalcProgrammer1

Also, what compiler are you using? For some reason my builds aren't working and I don't know whether my compiler changed or my config is broken.

I've build chrulri's toolchain from http://forum.xda-developers.com/showthread.php?t=891056 on a fresh Ubuntu 12.04 (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5))
I use this command line to build my kernel:

INSTALL_MOD_PATH=~/archos/Ubuntu/Kernel/modules_install/ make ARCH=arm CROSS_COMPILE=~/archos/KernelBuild/archos/archos-gpl-gen8/buildroot/build_arm/staging_dir/usr/bin/arm-linux-uclibcgnueabi-

I can't build your git repo, so I use Nicktime's one

By the way, I don't know what's going wrong, but my A101 is stuck at the top left blicking cursor for a while now... something must be wrong with my rootfs
Last edited by grim-a101; 25th April 2012 at 01:47 AM.
The Following User Says Thank You to grim-a101 For This Useful Post: [ View ]
25th April 2012, 01:53 AM   |  #60  
OP Senior Member
Flag Kansas City
Thanks Meter: 756
 
643 posts
Join Date:Joined: Oct 2007
More
Thanks for the info on the toolchain. It definitely is a compiler issue as I just built the exact same .config, files, everything on 11.04 and 12.04, works fine with 11.04's compiler. I need to fix my root= again since I reset my configuration. In my repo there's a file called linux.config, that is the .config file to configure the kernel.

Do

Code:
cp linux.config .config
before compiling, then I'm building with

Code:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j9
EDIT:

Fixed the A43 USB host errors, the USB constant of 50 should have been 100 which made it work properly. Weird thing is that the mouse works for a while and shuts off, seems to be the Ubuntu system shutting it off because the kernel set it up correctly. Might be my USB charging script, need to get switch working so I can dynamically select charging modes for A43's USB charging.
Last edited by CalcProgrammer1; 25th April 2012 at 02:01 AM.

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes