yashsingh1/xdaforums huggingface dataset:
[Touch Pro2, Tilt 2 Android Development] teekanne:
hello everyone!!

first of all, great build - a lot of work has already be done!!!

after following phhusson's instructions and the instructions from the htc-linux wiki wifi is almost working on my htc diamond (DIAM100) ...i think i just have to put the right calibration file into /lib/firmware and it will work.

i will keep you updated!
[Touch Pro2, Tilt 2 Android Development] phhusson:
If you're too lazy to retrieve your own calibration file, you may get one from:

http://glemsom.anapnea.net/android/htc-msm-android/calibration
[Touch Pro2, Tilt 2 Android Development] P0MM3S:
hi there,

just wanted to say that a few minutes ago, i also got 3G working through ppp.txt !

Finally internet access trough ubuntu on my diamond! Amazing!!

I was wondering if there is a way to make a script to run bash ppp.txt at startup?
[Touch Pro2, Tilt 2 Android Development] HTCdemon:
I looked into it and did find a possible solution I figured I'd ask about if anyone wants to try it...

Supposedly there is a armv6 gentoo port available although its armv6j...

If anyone wants to take a stab here is the link to get it:

http://mirror.mcs.anl.gov/pub/gentoo/releases/arm/
[Touch Pro2, Tilt 2 Android Development] teekanne:
more good news, wifi is also working on diamond...thanks to phusson with the calibration tip...

essential things are:

put firmware and calibration file in /lib/firmware

echo 1 > /dbgfs/mmc_dbg/wifi_cd

echo 1 > /dbgfs/mmc_dbg/wifi_pwr

if it doesn't work try echo 0 > /dbgfs/mmc_dbg/wifi_cd and echo 1 > /dbgfs/mmc_dbg/wifi_pwr again...

now ifconfig wlan0 up should work.

i still have some problems with wicd, but nevertheless it already finds my network, connects to wpa2, obtains an ip address, but then hangs in some way...
[Touch Pro2, Tilt 2 Android Development] phhusson:
Works better the other way around. (pwr then cd)

And you'll possibly need to do 0 > reset too (and maybe 1 > reset in meantime)
[Touch Pro2, Tilt 2 Android Development] teekanne:
wicd now worked properly and says it's connected to my wlan.

ifconfig shows me that got i got an ip address and my router shows me that i'm connected. although i can't ping the router from my diamond.

i've attached an extract from /var/log/syslog which shows that the kernel panics during authenticating at my router...anyone got an idea?
[Touch Pro2, Tilt 2 Android Development] phhusson:
The problem seems to be that running dhclient on the interface, do like ifconfig wlan0 down, which isn't expected by the driver
[Touch Pro2, Tilt 2 Android Development] oibaf79:
I have one problem with Blackstone,

i changed the startup.txt with "recalibrate=true", but at the boot the calibration doesn't start and i can't move the mouse.

How i can fix?

Tnx
[Touch Pro2, Tilt 2 Android Development] HamSummit:
The same at me..
[Touch Pro2, Tilt 2 Android Development] JesusFreak316:
It doesn't work for now. The code bombenbach put in to detect the touchscreen doesn't work for the x1 or touch hd. It should be fixed next release.
[Touch Pro2, Tilt 2 Android Development] teekanne:
i've also tried "ifconfig wlan1 down" before, but still same error.

wicd and ifconfig say everything is fine and show my ip...it must has something to do with "BUG: sleeping function called from invalid context at kernel/mutex.c:88" from the kernel log...maybe i'll try manual wpa_supplicant configuration tomorrow.
[Touch Pro2, Tilt 2 Android Development] teekanne:
interesting...after enabling debug mode in wicd i can ping other computers in my lan (both directions), but not the router which gives me an ip address and should bring me to the internet...so maybe somethings wrong with the routing table...
[Touch Pro2, Tilt 2 Android Development] Bombenbach:
OK. Frankly speaking, I didn't expect the SD card to appear under /dev/ because on Rhodium it is always in /dev/block/... (regardless of the partitioning). Whether it's mmcblk0 or mmcblk0p1 is handled by the init script, but the init script doesn't check /dev/... , only /dev/block/...

I took only the code which determines the correct /dev/input/event* as the number varries from kernel to kernel and from device to device.

That's true but since SD card auto mount still doesn't work properly on all supported devices, it's fail safer to keep the calibration file inside the rootfs and to recalibrate via a kernel parameter. Moreover, I don't think that people need to recalibrate that often. Maybe once or twice but definitly not every day or so.

I didn't really investigate how Android's init script handles that, but I guess it also doesn't update the modules on every boot? Because that would be not only slow but also dangerous, case the archive somehow gets corrupted. To make it really fail safe I decided not to update the modules on every boot but only if the user explicitly wants that (via start.txt) Only then the new modules will be copied to /lib/modules. After that the modules package in /ubuntu can safely be removed. So /ubuntu is kind of a temporary storage for the modules archive, not the permanent location. Once again, I think that many people are really serious about using Rhodium as a productive mini Ubuntu-netbook, so they probably won't update the kernel+modules every day.

Thanks for the information, will do.

ls -a /sys/power/

. .. pm_test state wake_lock wake_unlock

so, where's "sleep"???

Tried echoing different numbers 10, 100, 150 ,200 (original value: 144), but no reaction at all :(

With Rhodium it's actually the first time I use Linux on a touchscreen device, so I'm not really familiar with existing interfaces. Can you recommend some?

BTW: Fennec is slow as hell, so not really usable (framebuffer video sucks!). Midori doesn't seem to have any touch optimisations.

If you can find people interested in developping them ;)

As you can see I carefully log all the changes I apply to the new builds, in hope that this might help other people developing new distros. But of course I can't develop more than one distro myself. That would be too time consuming.

@teekanne

You're doing great job on getting wl1251 to work :cool:

So, if I got you right one needs put firmare and calibration to /lib/firmware.

The firmware is probably Fw1251r1c.bin, right? What about the calibration? I've found this loadit script in Android's rootfs http://pastebin.com/r9e4esri. Is it supposed to get calibration from the nvram? phh?

If you feel like doing even more experiments, you might try to modify the main init script

leafpad /init

namely the section which begins with

if [ "$WIFI_TI" = "1" ];then

it would be great if you could modify it the way that wifi works on boot without further manipulations. In that case I would be happy to put that in my next build. Sorry that I can't really help you hacking wl1251, but I don't have any other HTC devices except Rhodium
[Touch Pro2, Tilt 2 Android Development] JesusFreak316:
@Bombenbach: Just wanted to let you know that sd automount works fine on my HTC Fuze. Waiting (not so) patiently for wifi. :)
[Touch Pro2, Tilt 2 Android Development] Bombenbach:
As soon as teekanne or someone else tells me what steps are exactly to be made to get it working, I'll fix that. Teekanne has almost got it working so chances are high that it might work in the next build ;)

Where would you actually like to have the "ESC"? The power button should better be reserved for sleep/screnn on/off, volume buttons are already mapped with Tab and Alt and the End button currently handles screen rotation. So we still have Mute, Talk, Windows and Back. On Rhodium's keyboard Shift+4,5,6 are also supposed to be free. What do you suggest?
[Touch Pro2, Tilt 2 Android Development] Boushh:
I have made a bash script that looks like this (named ppp)

#! /bin/bash
# Start ppp.txt
bash ppp.txt <name> <username> <password>

replacing <name> <username> <password> with the proper fields

then you must make it executable by

chmod -x ppp

that I then put into /bin/sh

so at a terminal windows I just type ppp and it loads everything I need.

I suppose you could have that autoload a couple ways. You could create a cron job for it to run at startup or

update-rc.d ppp defaults

should work too, but I haven't tested either way. Best of luck!

My vote goes for the back button to be escape.

Oh, and congrats, you made it to the news on pocketnow.
[Touch Pro2, Tilt 2 Android Development] phhusson:
Ah that ... Oh well no clue about it, it's some weird stuff about udev.

No, it detects if current version == installed modules. Anyway that's not a big problem.

Sorry, I meant state, not sleep

Does it work on android ?

You do start from wimo with autobacklight off right ?

I don't know really these stuff, I'd say look at ubuntu mid stuff, but they aren't explicit of the softwares chosen.

Then try xf86-video-msm ? :p

Even if it doesn't gives all the actual capability of the 2D chipset, it should still be a great boost comparing to fbdev xorg.

Yup that's it.

For this one, your macchanger might be useful btw :p

This wl1251 driver gives random MAC.
[Touch Pro2, Tilt 2 Android Development] Bombenbach:
Not me, we did.

Don't forget that it was sebbo90 who initially got Ubuntu running on Rhodium and activated the wifi and phh who updated the wifi driver and thus solved the scan problem (and also together with other guys form #htc-linux gave us the kernel ;)) and walter79 who tested and tested and found useful apps and created a few builds himself and amipro who told us how to get 3G working and to solve the unprecise touchscreen problem and a lot of other people who tested, reported back, gave advices, suggested improvements and and and

Thus, Rhobuntu is a perfect example for the xda-developers teamwork :cool:
[Touch Pro2, Tilt 2 Android Development] Boushh:
So very true. :)

Oh, and It's been years since any of my hardcore *nix work (I've forgotten most of it unfortunately, cause I would really like to go through and do some work on the wifi driver to get it to work in monitor mode), but I'm working on a couple nice shiny Rhobuntu wallpapers and such if anyone is interested.
[Touch Pro2, Tilt 2 Android Development] Bombenbach:
No problem, will try that

autobacklight off, doh! OK, will test that too

But GNUtoo told me that it needs dri/drm and after you told me that our kernel definitely doesn't have dri/drm support, I actually almost gave up on

xf86-video-msm ...

Alright. So we'll probably need a wl1251_mac kernel option.
[Touch Pro2, Tilt 2 Android Development] phhusson:
AFAIK, GNUtoo just repeated what I said :D

I digged into xf86-video-msm sources, and the result of the driver versus fbdev is not obvious without dri/drm.

Anyway it can't be worse (despite it doesn't have on-the-fly rotation...., qualcomm-side it's easy to solve, xorg side, I've no clue how to do that)

Well, now that you did all those great jobs, I guess I have to get TV Out working ? :)
[Touch Pro2, Tilt 2 Android Development] teekanne:
like phusson already said:

1.) copy and rename Fw1251r1c.bin from your /windows/ directory to /lib/firmware/wl1251-fw.bin

2.) download and rename http://glemsom.anapnea.net/android/htc-msm-android/calibration to /lib/firmware/wl1251-nvs.bin

3.) echo 1 > /dbgfs/mmc_dbg/wifi_pwr

4.) echo 1 > /dbgfs/mmc_dbg/wifi_cd

if the firmware loads and becomes active, the interface gets renamed from wlan0 to wlan1 automatically...i've no clue why.

i will try to modify the init script tomorrow, if i find some time.
[Touch Pro2, Tilt 2 Android Development] Bombenbach:
thanks. The relevant piece of the init script looks like this at the moment:

if [ "$WIFI_TI" = "1" ];then
echo "Activating TI WL1251 WiFi"
insmod /lib/modules/wl1251.ko
insmod /lib/modules/wl1251_sdio.ko
echo 1 > /dbgfs/htcraphaelmmc_dbg/wifi_cd
sleep 5
echo 0 > /dbgfs/htcraphaelmmc_dbg/wifi_cd
echo 1 > /dbgfs/htcraphaelmmc_dbg/wifi_cd
sleep 5
ifconfig tiwlan0 up
sleep 5
echo 0 > /dbgfs/htcraphaelmmc_dbg/wifi_cd
echo 1 > /dbgfs/htcraphaelmmc_dbg/wifi_cd
sleep 5
ifconfig tiwlan0 up
sleep 5
echo 1 > /dbgfs/htcraphaelmmc_dbg/wifi_pwr
macchanger --mac=00:1f:df:b1:23:30 wlan0
ifconfig wlan0 up
fi

I'm just curious whether I could replace

echo 1 > /dbgfs/htcraphaelmmc_dbg/wifi_cd
sleep 5
echo 0 > /dbgfs/htcraphaelmmc_dbg/wifi_cd
echo 1 > /dbgfs/htcraphaelmmc_dbg/wifi_cd
sleep 5
ifconfig tiwlan0 up
sleep 5
echo 0 > /dbgfs/htcraphaelmmc_dbg/wifi_cd
echo 1 > /dbgfs/htcraphaelmmc_dbg/wifi_cd
sleep 5
ifconfig tiwlan0 up
sleep 5
echo 1 > /dbgfs/htcraphaelmmc_dbg/wifi_pwr

by

echo 1 > /dbgfs/mmc_dbg/wifi_cd
echo 1 > /dbgfs/mmc_dbg/wifi_pwr

because 5 sleeps à 5 seconds is a way too much :D

Well, we'll find out.
[Touch Pro2, Tilt 2 Android Development] Bombenbach:
Hmm

https://www.codeaurora.org/gitweb/quic/chrome/?p=xwin/xf86-video-msm.git;a=summary

Are there any specific hacks for compiling that?

How about keycode 464 for Ctrl? ;) I know that you'd "hate that" but a tiny kernel parameter for remapping that surely wouldn't ruin the esthetic beauty of your kernel. And loosing one key on that tiny Rhodium keyboard is such a waste.

Anyway, brightness control works. The lower threshold seems to be 30, the upper 150, with one step equals 30. Going under 30 turns the screen off.

My simple solution would be two scripts (brighntess_up and brighthness_down) in /usr/bin + xbindkeys mapping for Shift+4 and Shift+5.

Which already works.

Sleeping works too, but how can I wake the baby up?
[Touch Pro2, Tilt 2 Android Development] JesusFreak316:
Well, I got wifi working; installing stuff now. I just followed teekanne's steps and renamed my connection from eth0 to wlan1. Now I want hw3d or at least a faster framebuffer. lol I sound so greedy. Seriously though, awesome work guys. I'll keep being your little testing lackey. :)

One other thing; does charging work? I can't tell. Oh, and I think the "ok" key on fuze would be a logical place to put ctrl.
[Touch Pro2, Tilt 2 Android Development] walter79:
fatsal told me he has the same problem like this. on every boot wlan0 count one more. like after next boot wlan1, after next wlan2 ....
[Touch Pro2, Tilt 2 Android Development] P0MM3S:
Hi,

I've got WLAN workin on my diamond through /init, so here's the code :

if [ "$WIFI_TI" = "1" ];then
echo "Activating TI WL1251 WiFi"
insmod /lib/modules/wl1251.ko
insmod /lib/modules/wl1251_sdio.ko
echo 1 > /dbgfs/mmc_dbg/wifi_pwr
echo 1 > /dbgfs/mmc_dbg/wifi_cd
macchanger --mac=00:1f:df:b1:23:30 wlan0
ifconfig wlan0 up
fi

and of course like phusson already said:

1.) copy and rename Fw1251r1c.bin from your /windows/ directory to /lib/firmware/wl1251-fw.bin

2.) download and rename http://glemsom.anapnea.net/android/h...id/calibration to /lib/firmware/wl1251-nvs.bin

the only bad thing is that wlan0 keeps counting up on evey boot, so we need a fix for this, but its a nice improvement although!

thanks for that, i'll try that later !!
[Touch Pro2, Tilt 2 Android Development] phhusson:
I don't really know, ask leviathan, dcordes, or GNUtoo, or see their openembedded's "recipes":

http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/xorg-driver/xf86-video-msm_git.bb

http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/xorg-driver/xf86-video-msm

Yeah... will do... but microp keyboard code isn't that easy to understand. Well I mean the table is far from being explicit.

Cool then

[quote

Sleeping works too, but how can I wake the baby up?[/QUOTE]

Power button. It's possible the backlight doesn't come back, you might have to set it by hand to a non null value.

It's because of the random mac.

Set a permanent mac and you're done :p

Or change udev's config:

rm /etc/udev/rules.d/70-persistent-net.rules

at startup should do the trick.
[Touch Pro2, Tilt 2 Android Development] Bombenbach:
I completely forgot that macchanger isn't installed at all

apt-get install macchanger

According to phhuson that should help binding the WiFi to wlan0 permanently

On Rhodium charging seem to work only if started in WinMo before running haret. Not sure about other devices, though.

The problem about fuze is that I don't know the correct keycodes for the keyboard mapping (*cause I don't have a fuze*). But they are quite easy to find out.

Firstly you must temporarily disable X because it kind of distorts the information. This can be easily done by editing .bashrc

leafpad /root/.bashrc

and changing

if [ -e "/etc/pointercal" ]; then
startx
else

to

if [ -e "/etc/pointercal" ]; then
[COLOR="Red"]#[/COLOR]startx
else

On next boot you'll get only the console. Now run

showkey

On each keypress showkey will tell you the keycode like

keycode xxx press
keycode xxx release

These keycodes are necessary for the correct keyboard mapping of a particular device. If you could tell me the keycodes and the corresponding buttons I'd try to get it working.

To get X again simply type

startx

There you can edit /root/.bashrc once again and revert the changes so that X will auto start again.

hmm,

with

echo mem > /sys/power/sleep ; sleep 1;echo on > /sys/power/sleep

Rhodium wakes up after a few seconds by itself (no buttons pressed)

echo mem > /sys/power/sleep

alone causes deep lethargical sleep (no reaction to any button, including power)
[Touch Pro2, Tilt 2 Android Development] ziotidus:
I find the virtual key in the /usr/bin i have open the terminal but the command mount on my topaz don't go :( never sudo mount
[Touch Pro2, Tilt 2 Android Development] jsmith8858:
Hi -- I'd go with either something like fn+e, or the BACK button, whatever is easiest. I think the back button would work well and it even would be somewhat intuitive.
[Touch Pro2, Tilt 2 Android Development] walter79:
ctrl+alt+back = restart xserver
[Touch Pro2, Tilt 2 Android Development] teekanne:
hey guys.

1.) did your wifi work without any issues?

mine is now working too, but only after i removed the wicd network manager and configured wpa_supplicant by hand.

2.) is anyone already working on a gsm/radio application for rhobuntu? i just got my diamond and discovered the rhobuntu-project, but i guess that this is one of the hardest issues to solve.

so, would it be possible to port the radio interface layer daemon from the android project and write a simple qt ui for rhobuntu?
[Touch Pro2, Tilt 2 Android Development] Bombenbach:
did you try to set the proper wireless interface in wicd configuration? Because at the moment it's set to eth0.

Anyway, I guess, this will be the final version of the WL1251 routine

if [ "$WIFI_TI" = "1" ];then
echo "Activating TI WL1251 WiFi"
insmod /lib/modules/wl1251.ko
insmod /lib/modules/wl1251_sdio.ko
echo 1 > /dbgfs/mmc_dbg/wifi_pwr
echo 1 > /dbgfs/mmc_dbg/wifi_cd
macchanger --mac="$(grep -o -E '00:.*:??' /proc/cmdline)"
ifconfig wlan0 up
sed 's/eth0/wlan0/' /etc/wicd/manager-settings.conf > /etc/wicd/manager-settings.conf_tmp
cp /etc/wicd/manager-settings.conf_tmp > /etc/wicd/manager-settings.conf
rm /etc/wicd/manager-settings.conf_tmp
fi

macchanger must be installed via apt-get update and there is a kernel option wl1251_mac=00:1f:df:b1:23:30 for users to put their own mac adress.
[Touch Pro2, Tilt 2 Android Development] Boushh:
1) Mine has, yes.

2) I don't think anyone has gotten as far as even thinking about getting the radio working yet, but I could be wrong.

As for me, I totally brainfarted something and don't see it in the wiki, what's right click again? :D
[Touch Pro2, Tilt 2 Android Development] Bombenbach:
http://wiki.xda-developers.com/index.php?pagename=RhodiumUbuntu#FAQ ;)
[Touch Pro2, Tilt 2 Android Development] Boushh:
Okay, I've been working on some graphics for this project the last little while and will be coming out with more wallpapers, logo's, etc. in the future. Why am I doing this? Well, it's not official until it has a logo! (joke)

The logo I made is using HTC's and Windows logo's, however we're small enough of a project to where I don't think anyone will care, and if they do, I'll remake it. However, I thought it was important to include them as to show the trinity of what this project is, hardware designed by htc for windows, running ubuntu. They CC under Creative Commons Attribution-Share Alike 3.0. If anyone wants the original HR Adobe Illustrator files to work with, just shoot me a PM and I'd be happy to send them your way.

Let me know what you guys think.

First is a shortcut that will come up in your start menu, much like the one made for Android, but for rhubuntu instead. Note: this assumes your haret.exe is under \Storage Card\UBUNTU, let me know if you would like it for an alternate location and I will make one for you.

DOWNLOAD

and this is just a very simple wallpaper I made late last night (basically finished the logo and threw a gradient behind it with some text, nothing too special). I will develop some nicer looking wallpapers soon enough and maybe we can get a couple compiled into the next build of rhobuntu.
[Touch Pro2, Tilt 2 Android Development] Boushh:
Hah! Thanks Bombenbach, I don't know how I didn't see it. I guess I kept going back down to the hardware key mapping area looking for it.
[Touch Pro2, Tilt 2 Android Development] JesusFreak316:
That's exactly what I had to change.

1. Yes, like Bombenbach said, you have to change the eth0 in wicd preferences to whatever it currently is. Once we (you:)) fix the dynamic MAC address it should work fine.

And I love that icon Boushh!
[Touch Pro2, Tilt 2 Android Development] zombiegristle:
So...I got bored, and decided to try installing ubuntu-netbook-remix on mine. The install went smoothly, I then purged LXDE, and rebooted. It came up to a root shell, because it couldn't find xterm anymore. Being lazy, rather than fix the init script, I jsut backed up the old /usr/bin/startx, and replaced it with a link to /usr/sbin/gdm (I'll go back and do it the right way later)

Now it boots into UNR, in portrait mode. It looks fabulous, takes a while to load though, and the touchscreen calibration is WAY off. Left=down, down=left, completely mirrored and upside-down. I'm rebooting now with the parameter to force a recalibration, hopefulyl that'll fix it, if so I'll post a full review/tutorial/screens for those interested.

[EDIT] So...Yeah, touchscreen no worky. :(

I'm going to check around, I have a vague memory of similar issues with a TX2 laptop about a year ago, and it was a quick fix.

This is SLOWER THAN DEATH though, so I doubt I'll keep it after I succeed with the proof-of-concept. I'll probably just reinstall the LXDE build, and manually tinker with the packages to my liking.
[Touch Pro2, Tilt 2 Android Development] Bombenbach:
The reason it doesn't work is that you are using Xorg (/usr/bin/X) instead of KDrive (/usr/bin/Xfbdev) In Xorg the touchscreen really seems to behave very weird. Apart the inversion, left click doesn't work. I wasn't able to find out why. Maybe someone else will. :confused:
[Touch Pro2, Tilt 2 Android Development] amiPro:
Keyboard driver

I'd like to add my small contribution to this great project.

I made a small application that does the following:

- Activate suspend/resume by monitoring the power button

- Make FN really work. I mapped the e-mail button to Alt

- Handle the Shift and FN keys in a similar way to WinMo. I like this behavior as it is difficult to press multiple buttons in the same time. I applied the same logic also for Ctrl and Alt (e-mail button). For example, press and release FN once, FN will be sticky until any other key is pressed. Press and release FN twice, FN will be sticky until FN is pressed again.

It uses evdev to monitor key presses and uinput to create a virtual keyboard. The keymap file is important as it maps Ctrl and FN to dummy key code so they can be manipulated from loadkeys and X. Also I change ESC to FN+Q and tab to FN+A. I don't like using the volume up for tab.

Setup steps:

- Use the attached keymap file (replace the one in sdcard/ubuntu/extra)

- Install the attached .dep file (dpkg -i ./rhod-key-driver_0.01.deb)

- remove the file .xmodmap from the home directory, it is not needed.

- restart

The .tar.gz file contains the source code if anyone is interested.

I wish my contribution is useful and I'm open for any ideas.