User:JohnSullivan

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Replicating my install)
(GPS: working as gps for laptop)
 
(22 intermediate revisions by one user not shown)
Line 1: Line 1:
 
= State of the 'Runner =
 
= State of the 'Runner =
  
I'm using a FreeRunner, with [[Qtopia on FreeRunner|Qt-Extended]] on the flash but mainly using [[Debian]] on the microSD. Currently I'm experimenting with [[SHR]] as well.
+
I'm using a FreeRunner, with [[SHR]] on the flash but mainly using [[Debian]] on the microSD.  
  
I'm in [[Openmoko_Local_Groups:_Boston|Boston]].
+
I now use an N900 as well, so the information may not always be up to date here.
  
If you have a question or suggestion for me, feel free to leave it on the talk page here or [http://wjsullivan.net/Contact.html contact me by email and more]. I'm also in #openmoko, #openmoko-cdevel, and #openmoko-debian as johnsu01.
+
If you have a question or suggestion for me, feel free to leave it on the talk page here or [http://wjsullivan.net/Contact.html contact me by email and more]. I'm also in #openmoko, #openmoko-cdevel, #openmoko-debian as johnsu01.
  
 
== Blogging and Writing==
 
== Blogging and Writing==
Line 27: Line 27:
 
* GTA02
 
* GTA02
 
* Altec Lansing 2.5mm headphones (which have a mic too, though I don't know if it works)
 
* Altec Lansing 2.5mm headphones (which have a mic too, though I don't know if it works)
* 8GB microSD card
+
* 16GB microSD card
 
* [http://people.openmoko.org/joerg/calypso_moko_FW/moko11/ GSM firmware version moko11-beta1]
 
* [http://people.openmoko.org/joerg/calypso_moko_FW/moko11/ GSM firmware version moko11-beta1]
  
Line 41: Line 41:
  
 
   root=/dev/mmcblk0p2 console=tty0 loglevel=8 rootdelay=1
 
   root=/dev/mmcblk0p2 console=tty0 loglevel=8 rootdelay=1
 +
 +
(When I re-installed on 2010-09-19 using install.sh, I did not have to do this -- the installer did the right thing with QI=true set.)
 +
 +
== Android ==
 +
 +
See [[/Android]].
  
 
== Debian ==
 
== Debian ==
  
I'm experimenting with the [http://people.openmoko.org/andy/ andy-tracking kernel], testing d1a9cf85c8608601 (2.6.29) and f2d78193eae5dccd (2.6.28).
+
I'm using the om-gta02 2.6.29-20100313.git973a41fc kernel packaged in Debian.
 +
 
 +
In the past I tried the
 +
[http://people.openmoko.org/andy/ andy-tracking kernel], 2.6.29 15ca3dafb2662db4, but it seemed to not detect the battery. It also vomited HDQ errors in the logs and then spontaneously shutdown after being up for about 3 or 4 minutes.
  
 
=== Uses ===
 
=== Uses ===
  
I'm currently using it with a T-Mobile prepaid SIM. I'm using e17 and Illume for the window manager environment.
+
I'm currently using it with T-Mobile.  
 +
 
 +
In the past I've used e17 and Illume for the window manager environment; at this moment I'm experimenting with other possibilities.
 +
 
 +
I installed most recently with:
 +
 
 +
    SD_SWAP_SIZE=256 QI=true SD_PART_1_FS=ext3 ./install.sh all
  
 
==== Audio ====
 
==== Audio ====
Line 55: Line 70:
 
* I have gotten a Nokia BH-208 bluetooth headset to pair, and to make the beep that it should make when calls start and stop, but there is no sound other than hissing.
 
* I have gotten a Nokia BH-208 bluetooth headset to pair, and to make the beep that it should make when calls start and stop, but there is no sound other than hissing.
 
* I'm working on getting A2DP going with another headset, but haven't had success yet.
 
* I'm working on getting A2DP going with another headset, but haven't had success yet.
* I tried gpodder as a podcasting application, and it works okay but for some reason it doesn't like the URL for the main podcast I want to listen to, which is Wait Wait Don't Tell Me. Do I really want a dedicated podcast app anyway?
+
* gpodder for podcasts
 +
* I need to find a good audio mixer to use
  
 
==== Calendar ====
 
==== Calendar ====
Line 64: Line 80:
  
 
I built http://www.pimlico-project.org/contacts.html from svn on 2009.02.04. I successfully imported all 177 of my contacts. From my Nokia phone, I sent them all over bluetooth to the FreeRunner (with obexpushd), and then cat'd them all into a single vcf file. I pointed Contacts toward this, and it imported them. Took a few minutes to do the import, but it worked.
 
I built http://www.pimlico-project.org/contacts.html from svn on 2009.02.04. I successfully imported all 177 of my contacts. From my Nokia phone, I sent them all over bluetooth to the FreeRunner (with obexpushd), and then cat'd them all into a single vcf file. I pointed Contacts toward this, and it imported them. Took a few minutes to do the import, but it worked.
 +
 
However, upon opening Contacts recently, all my contacts were '''gone'''. I have no idea how this happened, but I'm certainly not trusting it without constant backups for the forseeable future.
 
However, upon opening Contacts recently, all my contacts were '''gone'''. I have no idea how this happened, but I'm certainly not trusting it without constant backups for the forseeable future.
  
 
==== Connectivity ====
 
==== Connectivity ====
  
* Tethered via bluetooth to my Nokia E61, which gets it a T-mobile EDGE connection.
+
* GPRS
* wifi-radar for connecting to wifi networks
+
* wicd for monitoring and connecting to wifi networks
  
 
===== Wifi =====
 
===== Wifi =====
Line 83: Line 100:
 
   wmiconfig -i eth0 --wlan disable
 
   wmiconfig -i eth0 --wlan disable
  
As of M5, in FSO you have to activate the WiFi resource in order to use it. For example (on one line):
+
In FSO you have to activate the WiFi resource in order to use it. For example (on one line):
 
    
 
    
   mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled
+
   mdbus -s org.freesmartphone.odeviced /org/freesmartphone/Device/PowerControl/WiFi  org.freesmartphone.Resource.Enable
  
 
This will activate it for multiple clients -- you could also request it instead of setting a different policy, and since the default policy is auto, it will go back off again when you release it.
 
This will activate it for multiple clients -- you could also request it instead of setting a different policy, and since the default policy is auto, it will go back off again when you release it.
 +
 +
As of 2010-09-19, I have no problems with wifi; it works out of the box on Debian with wicd.
  
 
===== Bluetooth =====
 
===== Bluetooth =====
  
I'm using bluez 4.32 compiled from source, and bluetooth-gnome 1.8 also compiled from source. I use obexpushd for receiving bluetooth files.
+
I'm using bluez 4.33 compiled from source, and bluetooth-gnome 1.8 also compiled from source. I use obexpushd for receiving bluetooth files. I'm compiling from source because when I tried the packaged versions in Debian, the keyboards did not stay paired. I had to re-pair them every time power to either the FreeRunner or the keyboard was turned off.
  
==== Display ====
+
==== Display and Desktop ====
  
 
I'm using xserver-xglamo.
 
I'm using xserver-xglamo.
Line 102: Line 121:
  
 
By default, the AUX button is not configured to lock the screen. I changed this by going to Settings => Input => Keybindings. Highlight the first entry, click Modify Key, then press the AUX key. Set it to execute "Desktop Simple Lock".
 
By default, the AUX button is not configured to lock the screen. I changed this by going to Settings => Input => Keybindings. Highlight the first entry, click Modify Key, then press the AUX key. Set it to execute "Desktop Simple Lock".
 +
 +
If icons for installed applications don't show on the desktop, you can try editing the desktop files in /usr/share/applications to make sure that they say "Applications" in the category field and not "Application".
  
 
==== E-mail ====
 
==== E-mail ====
Line 121: Line 142:
 
==== GPS ====
 
==== GPS ====
  
TangoGPS.
+
I'm trying to use foxtrotgps. It uninstalled the fso-gpsd, and I had to install gpsd. The device isn't set in the config, so I added "GPS_DEV="/dev/ttySAC1"" to /etc/default/gpsd, via dpkg-reconfigure gpsd.
 +
 
 +
I also installed foxtrotgps on my laptop, to use the FreeRunner's GPS over USB. I just forward the local gpsd port to the device with ssh -L 2947:localhost:2947 root@192.168.0.202.
  
 
==== Input ====
 
==== Input ====
Line 129: Line 152:
 
* I use a PaperMate PhD Multi pen, which has a pen, pencil, and stylus. It also happens to be the same kind of pen I've used for years anyway -- I just switched the multi version when I got the FreeRunner.
 
* I use a PaperMate PhD Multi pen, which has a pen, pencil, and stylus. It also happens to be the same kind of pen I've used for years anyway -- I just switched the multi version when I got the FreeRunner.
 
* [http://www.jetmall.net/index.asp?PageAction=VIEWPROD&ProdID=303 This Cowon stylus] looks interesting, and the idea of having something attached to the device is appealing.
 
* [http://www.jetmall.net/index.asp?PageAction=VIEWPROD&ProdID=303 This Cowon stylus] looks interesting, and the idea of having something attached to the device is appealing.
 +
* My X200T Thinkpad comes with a wacom pen, which also works very well as a FreeRunner stylus :).
  
 
===== Softkeyboards =====
 
===== Softkeyboards =====
Line 134: Line 158:
 
* The illume keyboard is quite usable, especially rotated horizontally. To get it to use the full available space after rotating the screen, go to settings, turn the keyboard off and back on again. Or, just check the "Restore after login" box in the screen rotation settings. Then you don't have to toggle the keyboard.
 
* The illume keyboard is quite usable, especially rotated horizontally. To get it to use the full available space after rotating the screen, go to settings, turn the keyboard off and back on again. Or, just check the "Restore after login" box in the screen rotation settings. Then you don't have to toggle the keyboard.
 
* I change the the "small" dictionary (by clicking the upper left corner of the keyboard) -- I find the full dictionary to be too slow.
 
* I change the the "small" dictionary (by clicking the upper left corner of the keyboard) -- I find the full dictionary to be too slow.
* I'm now using [http://www.opkg.org/packages/illume-default-alt_0.1_arm.ipk this layout]. It can be extracted on Debian with ar x, and then tar on the data.tar.gz file. See the [http://n2.nabble.com/file/n2172078/Screenshot-1.png screenshot] from Shashank Bharadwaj who designed it. I've also made it available in [http://wjsullivan.net/git/?p=freerunner.git;a=blob_plain;f=Default.kbd;hb=e88af70654605cc4ef86704fc2f956f80740208d my git repo].
+
* I've used [http://www.opkg.org/packages/illume-default-alt_0.1_arm.ipk this layout]. It can be extracted on Debian with ar x, and then tar on the data.tar.gz file. See the [http://n2.nabble.com/file/n2172078/Screenshot-1.png screenshot] from Shashank Bharadwaj who designed it. I've also made it available in [http://wjsullivan.net/git/?p=freerunner.git;a=blob_plain;f=Default.kbd;hb=e88af70654605cc4ef86704fc2f956f80740208d my git repo].
* cellwriter won't work easily with illume, because it shows up as a separate window rather than what the illume keyboard does.
+
* cellwriter won't work easily with illume, because it shows up as a separate window rather than what the illume keyboard does.  
  
 
===== Freedom =====
 
===== Freedom =====
Line 162: Line 186:
  
 
===== Buzzing =====
 
===== Buzzing =====
 +
 +
I previously had complaints about buzzing sometimes, but often it is okay too.
 +
 +
Now, I've had the hardware SOP fix for this applied, and it's working great. No more complaints about buzz.
  
 
http://www.mail-archive.com/support@lists.openmoko.org/msg00564.html
 
http://www.mail-archive.com/support@lists.openmoko.org/msg00564.html
Line 186: Line 214:
  
 
Zhone requires python bindings, from https://svn.enlightenment.org/svn/e/trunk/BINDINGS/python ? Installing this requires python-setuptools. The default path should also be changed because it tries to install things to /root/usr...
 
Zhone requires python bindings, from https://svn.enlightenment.org/svn/e/trunk/BINDINGS/python ? Installing this requires python-setuptools. The default path should also be changed because it tries to install things to /root/usr...
 
I'm suffering from the infamous buzz and so far am not able to use the device as my regular phone.
 
  
 
====== Build deps ======
 
====== Build deps ======
Line 205: Line 231:
 
==== Time ====
 
==== Time ====
  
I use ntpdate-debian -u to sync the time, then hwclock --adjust immediately to fix the hardware clock. I also have ntpdate-debian -u run as an ip-up script on ppp/GPRS connect.
+
I use ntpd and sometimes ntpdate-debian -u to sync the time, then hwclock --adjust immediately to fix the hardware clock. I also have ntpdate-debian -u run as an ip-up script on ppp/GPRS connect. I have otimed disabled for now, because I'm trying to figure out why the device is losing time while it's on. It has the correct time on boot, but then will lose minutes rather rapidly -- 7 or 8 per hour. This happens even when ntpd is running and the device is connected to the network via usb.
  
 
I haven't found a good alarm clock app yet.
 
I haven't found a good alarm clock app yet.
Line 227: Line 253:
  
 
===== Other options =====
 
===== Other options =====
 +
 +
Going to try chromium-browser next.
  
 
Fennec doesn't build easily yet, though some people apparently have it working.
 
Fennec doesn't build easily yet, though some people apparently have it working.
Line 242: Line 270:
 
And answering "Yes" to the "Keep number of DNS-queries minimal" question helped reduce this.
 
And answering "Yes" to the "Keep number of DNS-queries minimal" question helped reduce this.
  
I'm currently experimenting with using a swap file, to see if that improves stability. I made that with:
+
I used to use a swap file, to see if that improves stability. I made that with:
  
 
   dd if=/dev/zero of=swapfile bs=1024 count=524288
 
   dd if=/dev/zero of=swapfile bs=1024 count=524288
Line 254: Line 282:
  
 
   swapon -a
 
   swapon -a
 +
 +
Now I use a swap partition instead, created through the install.sh script.
 +
 +
/sys/class/i2c-adapter/i2c-0/0-0073/pcf50633-mbc/ is where the chg_curlim file lives.
  
 
=== Suspend ===
 
=== Suspend ===
  
I edited /usr/local/etc/enlightenment/sysactions.conf to use apm instead of acpi to handle suspend, and commented out the suspend event in the rules.yaml frameworkd file. This way I can use the e17 menu to handle things.
+
I edited /usr/local/etc/enlightenment/sysactions.conf to use the FSO Usage.Suspend dbus method instead of acpi to handle suspend, and commented out the suspend event in the rules.yaml frameworkd file. This way I can use the e17 menu to handle things. If you just use apm, then gsm events will wake the phone back up randomly.
  
 
Resume wasn't working for me -- when I tried to resume, I got a blank gray screen. I could still do things over ssh, but there was no display. I've fixed that by adding [http://wjsullivan.net/git/?p=freerunner.git;a=blob_plain;f=display;hb=e88af70654605cc4ef86704fc2f956f80740208d this script] to /etc/apm/resume.d.
 
Resume wasn't working for me -- when I tried to resume, I got a blank gray screen. I could still do things over ssh, but there was no display. I've fixed that by adding [http://wjsullivan.net/git/?p=freerunner.git;a=blob_plain;f=display;hb=e88af70654605cc4ef86704fc2f956f80740208d this script] to /etc/apm/resume.d.
Line 273: Line 305:
  
  
My .Xresources:
+
[http://wjsullivan.net/git/?p=freerunner.git;a=blob_plain;f=.Xresources;hb=HEAD My .Xresources]
 
+
  UXTerm*font: -bitstream-terminal-bold-r-normal--18-140-100-100-c-110-iso8859-1
+
  UXTerm*background: black
+
  UXTerm*foreground: cyan
+
  XTerm*font: -bitstream-terminal-bold-r-normal--18-140-100-100-c-110-iso8859-1
+
  XTerm*background: black
+
  XTerm*foreground: cyan
+
  
 
My .xsession:
 
My .xsession:
Line 357: Line 382:
 
== SHR ==
 
== SHR ==
  
* [http://shr.bearstech.com/shr-testing/images/neo1973/ Images]
+
See [[/SHR]].
 
+
Well, the first test did not go well. It looks nice and feels snappy, but it froze up completely within a few minutes of use. I had to remove the battery and reboot. Also, Midori did not show any address bar, and typing C-l did not help. So I was unable to actually enter a web address to browse to.
+
 
+
The freezing has stopped, but there are other issues.
+
 
+
The dialer crashes after pressing Call, with a resource not available error. [http://trac.shr-project.org/trac/ticket/122 Trac ticket] explains that this is because SHR doesn't work / isn't tested with the andy-tracking kernel.
+
  
 
== Reference ==
 
== Reference ==
Line 381: Line 400:
 
=== Elsewhere ===
 
=== Elsewhere ===
  
 +
* [[User:Lindi]]
 
* [http://wiki.debian.org/DebianOnFreeRunner Debian wiki page]
 
* [http://wiki.debian.org/DebianOnFreeRunner Debian wiki page]
 
* [http://www.emdebian.org/tools/crosstools.html Embedded Debian]
 
* [http://www.emdebian.org/tools/crosstools.html Embedded Debian]

Latest revision as of 01:22, 27 September 2010

Contents

[edit] State of the 'Runner

I'm using a FreeRunner, with SHR on the flash but mainly using Debian on the microSD.

I now use an N900 as well, so the information may not always be up to date here.

If you have a question or suggestion for me, feel free to leave it on the talk page here or contact me by email and more. I'm also in #openmoko, #openmoko-cdevel, #openmoko-debian as johnsu01.

[edit] Blogging and Writing

I'm blogging a bit about my experiences and hacking on the FreeRunner at http://journal.wjsullivan.net. Posts tagged with "freerunner" are syndicated to http://planet.openmoko.org.

I started a microblogging group for FreeRunner users at identi.ca.

This is a personal page, but related articles I've written for the FSF include:

[edit] Highlights

[edit] Hardware

[edit] Booting

I'm using Qi. This was installed from here with:

 dfu-util -a u-boot -R -D qi-s3c2442-master_a2d11c4dd18c9517.udfu

The kernel then needs to be renamed/linked to /boot/boot/uImage-GTA02.bin.

We also need a /boot/boot/append-GTA02 file containing:

 root=/dev/mmcblk0p2 console=tty0 loglevel=8 rootdelay=1

(When I re-installed on 2010-09-19 using install.sh, I did not have to do this -- the installer did the right thing with QI=true set.)

[edit] Android

See /Android.

[edit] Debian

I'm using the om-gta02 2.6.29-20100313.git973a41fc kernel packaged in Debian.

In the past I tried the andy-tracking kernel, 2.6.29 15ca3dafb2662db4, but it seemed to not detect the battery. It also vomited HDQ errors in the logs and then spontaneously shutdown after being up for about 3 or 4 minutes.

[edit] Uses

I'm currently using it with T-Mobile.

In the past I've used e17 and Illume for the window manager environment; at this moment I'm experimenting with other possibilities.

I installed most recently with:

   SD_SWAP_SIZE=256 QI=true SD_PART_1_FS=ext3 ./install.sh all

[edit] Audio

  • gmpc/mpc/mpd/mpdscribble as a scrobbling music player
  • I have gotten a Nokia BH-208 bluetooth headset to pair, and to make the beep that it should make when calls start and stop, but there is no sound other than hissing.
  • I'm working on getting A2DP going with another headset, but haven't had success yet.
  • gpodder for podcasts
  • I need to find a good audio mixer to use

[edit] Calendar

Currently experimenting with http://www.pimlico-project.org/dates.html. I built it from svn on 2009.02.04 and it seems to be working very nicely. It does not seem to have an alarm for appointments, though, and there are some font issues with the yearly calendar view that are causing the numbers to overlap.

[edit] Contacts

I built http://www.pimlico-project.org/contacts.html from svn on 2009.02.04. I successfully imported all 177 of my contacts. From my Nokia phone, I sent them all over bluetooth to the FreeRunner (with obexpushd), and then cat'd them all into a single vcf file. I pointed Contacts toward this, and it imported them. Took a few minutes to do the import, but it worked.

However, upon opening Contacts recently, all my contacts were gone. I have no idea how this happened, but I'm certainly not trusting it without constant backups for the forseeable future.

[edit] Connectivity

  • GPRS
  • wicd for monitoring and connecting to wifi networks
[edit] Wifi

I was having trouble with wifi recently -- I could get an address, and do dns lookups, but couldn't reliably ping any host including the gateway. If I left ping running long enough, it would eventually get a few successful ones, but overall it was unusable. I tried a few things including setting the rate with iwconfig and making sure power management was off, but that didn't help. I installed Wmiconfig and did:

 wmiconfig -i eth0 --power maxperf

Now things seem to be working again. But that massively increases power consumption, so I'm still trying to debug the root of the problem. It seems to have something to do with channels and interference, since I can connect to the AP at work, where there are fewer other APs around to crowd the airwaves.

To disable wifi:

 wmiconfig -i eth0 --wlan disable

In FSO you have to activate the WiFi resource in order to use it. For example (on one line):

 mdbus -s org.freesmartphone.odeviced /org/freesmartphone/Device/PowerControl/WiFi  org.freesmartphone.Resource.Enable

This will activate it for multiple clients -- you could also request it instead of setting a different policy, and since the default policy is auto, it will go back off again when you release it.

As of 2010-09-19, I have no problems with wifi; it works out of the box on Debian with wicd.

[edit] Bluetooth

I'm using bluez 4.33 compiled from source, and bluetooth-gnome 1.8 also compiled from source. I use obexpushd for receiving bluetooth files. I'm compiling from source because when I tried the packaged versions in Debian, the keyboards did not stay paired. I had to re-pair them every time power to either the FreeRunner or the keyboard was turned off.

[edit] Display and Desktop

I'm using xserver-xglamo.

The illume theme was using the default ugly X crosshairs mouse cursor. I installed the crystalcursors package and made sure via update-alternatives that it was in use, but it didn't work in e17 until I went into Settings => Look => Mouse Cursor. I selected "Use X cursor", "Show cursor", and changed the cursor size to 16px (under Advanced). Now it's a more pleasant arrow.

The default font size in illume was far, far too small. To increase it, go to Settings => Look => Scaling => Advanced. Set custom scaling on, and then increase the personal scaling factor. Mine is currently set at 2.3. You'll need to restart in order for things to fully settle.

By default, the AUX button is not configured to lock the screen. I changed this by going to Settings => Input => Keybindings. Highlight the first entry, click Modify Key, then press the AUX key. Set it to execute "Desktop Simple Lock".

If icons for installed applications don't show on the desktop, you can try editing the desktop files in /usr/share/applications to make sure that they say "Applications" in the category field and not "Application".

[edit] E-mail

Claws (apt-get install claws-mail) is working well for e-mail. It has a small screen setting that is very usable.

Sending mail didn't work at first. Turns out you have to create a queue folder in order for that to work -- go to File => Add Mailbox and make a local mailbox called Queue. Then under Configuration => Edit Current Account => Advanced under Folder, check the "Put queued messages in" and then select that folder.

[edit] Games

  • Xboard seems to work for chess.
  • I tried Gnubik, but the software OpenGL is just too slow.
  • Enigma was not playable
  • Nethack works in the terminal :)
  • linball is a little pinball game, start with ./linball -f
  • Mokomaze is awesome! Work through various mazes, using the accelerometer for control. Installable in Debian with "apt-get install mokomaze".
  • Acceleroids also uses the accelerometer, but so far seems very difficult to control. Maybe I'll get the hang of it. Note that you start it with sdlroids-launcher.sh.

[edit] GPS

I'm trying to use foxtrotgps. It uninstalled the fso-gpsd, and I had to install gpsd. The device isn't set in the config, so I added "GPS_DEV="/dev/ttySAC1"" to /etc/default/gpsd, via dpkg-reconfigure gpsd.

I also installed foxtrotgps on my laptop, to use the FreeRunner's GPS over USB. I just forward the local gpsd port to the device with ssh -L 2947:localhost:2947 root@192.168.0.202.

[edit] Input

[edit] Stylus
  • I use a PaperMate PhD Multi pen, which has a pen, pencil, and stylus. It also happens to be the same kind of pen I've used for years anyway -- I just switched the multi version when I got the FreeRunner.
  • This Cowon stylus looks interesting, and the idea of having something attached to the device is appealing.
  • My X200T Thinkpad comes with a wacom pen, which also works very well as a FreeRunner stylus :).
[edit] Softkeyboards
  • The illume keyboard is quite usable, especially rotated horizontally. To get it to use the full available space after rotating the screen, go to settings, turn the keyboard off and back on again. Or, just check the "Restore after login" box in the screen rotation settings. Then you don't have to toggle the keyboard.
  • I change the the "small" dictionary (by clicking the upper left corner of the keyboard) -- I find the full dictionary to be too slow.
  • I've used this layout. It can be extracted on Debian with ar x, and then tar on the data.tar.gz file. See the screenshot from Shashank Bharadwaj who designed it. I've also made it available in my git repo.
  • cellwriter won't work easily with illume, because it shows up as a separate window rather than what the illume keyboard does.
[edit] Freedom

I'm testing one of these credit-card sized bluetooth keyboards. It pairs and types and the form factor is excellent.

[edit] FrogPad
  • The FrogPad works well, but if frameworkd is in charge of the screen blanking, the screen will go blank while you're typing. I solved this by commenting out the "Idleness Brightness Handling" section of /etc/freesmartphone/oevents/rules.yaml file. Now screen blanking is just handled by X, and so it stays on while I'm typing.

[edit] Phone

I'm working on getting acceptable audio quality. I can get audio through my wired headset by manually loading the state file after the call connects, but it's far too soft by default and the microphone on the headset does not work.

[edit] Echo issue

I am currently not experiencing any complaints about echo.

Things to try if the problem appears:

For sound out of the handset, the Improving_user_experience page says to set control.4 Speaker Playback Volume to 95.

http://docs.openmoko.org/trac/ticket/1267

http://lists.openmoko.org/pipermail/hardware/2008-August/000451.html

[edit] Buzzing

I previously had complaints about buzzing sometimes, but often it is okay too.

Now, I've had the hardware SOP fix for this applied, and it's working great. No more complaints about buzz.

http://www.mail-archive.com/support@lists.openmoko.org/msg00564.html

http://docs.openmoko.org/trac/ticket/883

http://docs.openmoko.org/trac/ticket/1352

http://people.openmoko.org/joerg/GSM_EMI_noise/big-C_rework_SOP__DRAFT3__.pdf

[edit] fso-el

This is my project to create an Emacs interface to the freesmartphone API. It's what I will be using for the time being to make and receive calls, and send and receive SMS.

The home page with information about getting the code is http://wiki.wjsullivan.net/collaboration.cgi/FsoEl.

[edit] Paroli

Paroli

[edit] Zhone

Zhone requires python bindings, from https://svn.enlightenment.org/svn/e/trunk/BINDINGS/python ? Installing this requires python-setuptools. The default path should also be changed because it tries to install things to /root/usr...

[edit] Build deps

These are packages I needed to install in order to build Zhone. apt-get build-dep zhone didn't work -- no source package available.

  • cython

[edit] Reading

I'm using epdfview to read PDFs. I had problems with it crashing on larger PDFs at first, but I haven't seen that in a while. I think it's probably because I added a swapfile. xpdf and evince are also options.

Google's mobile book search works great.

fbreader is also good, even just the version installed from Debian. It supports ePub books.

[edit] Time

I use ntpd and sometimes ntpdate-debian -u to sync the time, then hwclock --adjust immediately to fix the hardware clock. I also have ntpdate-debian -u run as an ip-up script on ppp/GPRS connect. I have otimed disabled for now, because I'm trying to figure out why the device is losing time while it's on. It has the correct time on boot, but then will lose minutes rather rapidly -- 7 or 8 per hour. This happens even when ntpd is running and the device is connected to the network via usb.

I haven't found a good alarm clock app yet.

Time is displayed in small analog clock form in the e17 toolbar. It's not ideal but it's okay for now.

[edit] Web browsing

[edit] Iceweasel configuration
  • Set my home page to http://delicious.com/johnsu01/mobile, which will have frequently used bookmarks, but I have the start page set to blank.
  • Remove the search from the navigation toolbar. (Right-click, customize toolbar, drag the search box to the dialog.)
  • Disable autocompletion in the address bar -- makes typing impossible. I had to do this (and other iceweasel configuration) over X forwarded ssh, because iceweasel config windows keep coming up larger than the screen.
  • Probably need to install Adblock and add a filter to block all of these javascript form field suggesting scripts (like google.com or youtube.com) -- they really slow things down and make typing frustrating.

I tried the delicious extension but it seems to make things too slow. I might try again. The reason I'm using iceweasel instead of midori is because I'm hoping that one of the mouse gesture extensions will be useful.

[edit] w3m in Emacs

I'm experimenting with using this more. With an Emacs X frame open, I can display the images as well and it seems like a reasonable way to look at most pages.

[edit] Other options

Going to try chromium-browser next.

Fennec doesn't build easily yet, though some people apparently have it working.

NetSurf was too buggy for me -- very strange things were happening in input fields. Plus, it doesn't support JavaScript, and seemed a little sluggish.

[edit] Performance

Boot time with u-boot was about 3 minutes. Switching to Qi has brought it down to about 2. I'm currently starting mpd and mpdscribble at boot, which I will stop by writing a shell script that starts them if they are not already started when I actually open the music player.

I'm also using exim4, which was adding almost a full minute to the boot time. Doing:

 dpkg-reconfigure exim4-config

And answering "Yes" to the "Keep number of DNS-queries minimal" question helped reduce this.

I used to use a swap file, to see if that improves stability. I made that with:

 dd if=/dev/zero of=swapfile bs=1024 count=524288
 mkswap swapfile

Then added to fstab:

 /swapfile none          swap    sw                                      0 0

And to start using it immediately:

 swapon -a

Now I use a swap partition instead, created through the install.sh script.

/sys/class/i2c-adapter/i2c-0/0-0073/pcf50633-mbc/ is where the chg_curlim file lives.

[edit] Suspend

I edited /usr/local/etc/enlightenment/sysactions.conf to use the FSO Usage.Suspend dbus method instead of acpi to handle suspend, and commented out the suspend event in the rules.yaml frameworkd file. This way I can use the e17 menu to handle things. If you just use apm, then gsm events will wake the phone back up randomly.

Resume wasn't working for me -- when I tried to resume, I got a blank gray screen. I could still do things over ssh, but there was no display. I've fixed that by adding this script to /etc/apm/resume.d.

[edit] Important configuration files

My /etc/modules (for 2.6.24 -- this is not needed with the andy-tracking kernel):

   snd-soc-neo1973-gta02-wm8753                                                                       
   g_ether                                                                                            
   bluetooth                                                                                          
   bnep                                                                                               
   ohci-hcd                                                                                           
   hci_usb


My .Xresources

My .xsession:

 export GTK_MODULES=libgtkstylus.so # enables right-click by holding down stylus in GTK+ apps
 enlightenment_start

My .gtkrc-2.0:

 gtk-font-name = "Sans 6"
 style "scroll"
 {
     GtkScrollbar::slider-width        = 25
 }
 class "*" style "scroll"

(The small font and the large scroll bar are to help cope with dpi issues that xglamo has right now. For portrait orientation I use "Sans 14" for the font.)

FIXME: Need to add sources.list.

[edit] Issues

  • Mailutils segfault
  • Iceweasel windows for configuration are opening to a size larger than my screen, which makes them impossible to use.
  • wifi-radar randomly deletes the contents of its configuration file and then won't start when the file is empty. (Debian bug filed.)
  • Font dpi issue

[edit] Replicating my install

(I don't suggest you follow these instructions yet unless you are talking to me, they are in progress.)

  1. Install Qi
  2. Boot into SHR or whatever
  3. wget install script and make it executable
  4. QI=true QI_VERBOSE_BOOT=true HOSTNAME=claude ./install.sh all
  5. Reboot
  6. set root password
  7. apt-get install screen apt-utils subversion nano sudo distcc cvs ntp xauth
  8. screen
  9. cd /boot
  10. wget kernel
  11. rm uImage.bin
  12. ln -s NEW_KERNEL uImage.bin
  13. wget modules
  14. untar modules
  15. reboot
  16. dpkg-reconfigure tzdata
  17. fix resolv.conf
  18. edit sources.list -- remove experimental and change mirror to local (maybe this should be done in the install script option)
  19. Get my patched version of raster's e install script: wget http://git.wjsullivan.net/freerunner.git/get_e.sh
  20. chmod +x get_e.sh
  21. export CC="distcc arm-linux-gnueabi-gcc"
  22. export DISTCC_HOSTS="whatever"
  23. ./get_e.sh
  24. dpkg-reconfigure locales
  25. Put .xsession file from above in place over default one (copy the default out of the way if you want first)
  26. copy illume-desktop.menu file to /etc/xdg/menus/
  27. copy Default.kbd from my git repo to /usr/local/lib/enlightenment/modules/illume/keyboards/ (copy the current one out of the way if you want)
  28. copy .Xresources from my git repo to /root/.Xresources
  29. copy .gtkrc-2.0 file from git repo to /root/.gtkrc-2.0
  30. /etc/init.d/nodm restart
  31. make a swap file
  32. install some software: apt-get install tangogps iceweasel claws-mail wifi-radar ttf-bitstream-vera
  33. remove some software: apt-get remove --purge matchbox-keyboard openmoko-panel-plugin
  34. bluetooth?
  35. Modify /usr/local/etc/enlightenment/sysactions.conf to use suspend script instead of acpi.
  36. Put script to fix resume in /etc/apm/resume.d
  37. Comment out the suspend event in the rules.yaml file for frameworkd.
  38. Comment out the handling of the power/execute button in rules.yaml.
  39. Configure screen lock
  40. Set power button to call e17 shutdown menu.
  41. build emacs
  42. install fso-el
  43. Upgrade GSM firmware

[edit] SHR

See /SHR.

[edit] Reference

[edit] This wiki

[edit] Enlightenment

[edit] Elsewhere

[edit] FSO

[edit] Debugging

/Backtraces


Personal tools

State of the 'Runner

I'm using a FreeRunner, with Qt-Extended on the flash but mainly using Debian on the microSD. Currently I'm experimenting with SHR as well.

I'm in Boston.

If you have a question or suggestion for me, feel free to leave it on the talk page here or contact me by email and more. I'm also in #openmoko, #openmoko-cdevel, and #openmoko-debian as johnsu01.

Blogging and Writing

I'm blogging a bit about my experiences and hacking on the FreeRunner at http://journal.wjsullivan.net. Posts tagged with "freerunner" are syndicated to http://planet.openmoko.org.

I started a microblogging group for FreeRunner users at identi.ca.

This is a personal page, but related articles I've written for the FSF include:

Highlights

Hardware

Booting

I'm using Qi. This was installed from here with:

 dfu-util -a u-boot -R -D qi-s3c2442-master_a2d11c4dd18c9517.udfu

The kernel then needs to be renamed/linked to /boot/boot/uImage-GTA02.bin.

We also need a /boot/boot/append-GTA02 file containing:

 root=/dev/mmcblk0p2 console=tty0 loglevel=8 rootdelay=1

Debian

I'm experimenting with the andy-tracking kernel, testing d1a9cf85c8608601 (2.6.29) and f2d78193eae5dccd (2.6.28).

Uses

I'm currently using it with a T-Mobile prepaid SIM. I'm using e17 and Illume for the window manager environment.

Audio

  • gmpc/mpc/mpd/mpdscribble as a scrobbling music player
  • I have gotten a Nokia BH-208 bluetooth headset to pair, and to make the beep that it should make when calls start and stop, but there is no sound other than hissing.
  • I'm working on getting A2DP going with another headset, but haven't had success yet.
  • I tried gpodder as a podcasting application, and it works okay but for some reason it doesn't like the URL for the main podcast I want to listen to, which is Wait Wait Don't Tell Me. Do I really want a dedicated podcast app anyway?

Calendar

Currently experimenting with http://www.pimlico-project.org/dates.html. I built it from svn on 2009.02.04 and it seems to be working very nicely. It does not seem to have an alarm for appointments, though, and there are some font issues with the yearly calendar view that are causing the numbers to overlap.

Contacts

I built http://www.pimlico-project.org/contacts.html from svn on 2009.02.04. I successfully imported all 177 of my contacts. From my Nokia phone, I sent them all over bluetooth to the FreeRunner (with obexpushd), and then cat'd them all into a single vcf file. I pointed Contacts toward this, and it imported them. Took a few minutes to do the import, but it worked. However, upon opening Contacts recently, all my contacts were gone. I have no idea how this happened, but I'm certainly not trusting it without constant backups for the forseeable future.

Connectivity

  • Tethered via bluetooth to my Nokia E61, which gets it a T-mobile EDGE connection.
  • wifi-radar for connecting to wifi networks
Wifi

I was having trouble with wifi recently -- I could get an address, and do dns lookups, but couldn't reliably ping any host including the gateway. If I left ping running long enough, it would eventually get a few successful ones, but overall it was unusable. I tried a few things including setting the rate with iwconfig and making sure power management was off, but that didn't help. I installed Wmiconfig and did:

 wmiconfig -i eth0 --power maxperf

Now things seem to be working again. But that massively increases power consumption, so I'm still trying to debug the root of the problem. It seems to have something to do with channels and interference, since I can connect to the AP at work, where there are fewer other APs around to crowd the airwaves.

To disable wifi:

 wmiconfig -i eth0 --wlan disable

As of M5, in FSO you have to activate the WiFi resource in order to use it. For example (on one line):

 mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy WiFi enabled

This will activate it for multiple clients -- you could also request it instead of setting a different policy, and since the default policy is auto, it will go back off again when you release it.

Bluetooth

I'm using bluez 4.32 compiled from source, and bluetooth-gnome 1.8 also compiled from source. I use obexpushd for receiving bluetooth files.

Display

I'm using xserver-xglamo.

The illume theme was using the default ugly X crosshairs mouse cursor. I installed the crystalcursors package and made sure via update-alternatives that it was in use, but it didn't work in e17 until I went into Settings => Look => Mouse Cursor. I selected "Use X cursor", "Show cursor", and changed the cursor size to 16px (under Advanced). Now it's a more pleasant arrow.

The default font size in illume was far, far too small. To increase it, go to Settings => Look => Scaling => Advanced. Set custom scaling on, and then increase the personal scaling factor. Mine is currently set at 2.3. You'll need to restart in order for things to fully settle.

By default, the AUX button is not configured to lock the screen. I changed this by going to Settings => Input => Keybindings. Highlight the first entry, click Modify Key, then press the AUX key. Set it to execute "Desktop Simple Lock".

E-mail

Claws (apt-get install claws-mail) is working well for e-mail. It has a small screen setting that is very usable.

Sending mail didn't work at first. Turns out you have to create a queue folder in order for that to work -- go to File => Add Mailbox and make a local mailbox called Queue. Then under Configuration => Edit Current Account => Advanced under Folder, check the "Put queued messages in" and then select that folder.

Games

  • Xboard seems to work for chess.
  • I tried Gnubik, but the software OpenGL is just too slow.
  • Enigma was not playable
  • Nethack works in the terminal :)
  • linball is a little pinball game, start with ./linball -f
  • Mokomaze is awesome! Work through various mazes, using the accelerometer for control. Installable in Debian with "apt-get install mokomaze".
  • Acceleroids also uses the accelerometer, but so far seems very difficult to control. Maybe I'll get the hang of it. Note that you start it with sdlroids-launcher.sh.

GPS

TangoGPS.

Input

Stylus
  • I use a PaperMate PhD Multi pen, which has a pen, pencil, and stylus. It also happens to be the same kind of pen I've used for years anyway -- I just switched the multi version when I got the FreeRunner.
  • This Cowon stylus looks interesting, and the idea of having something attached to the device is appealing.
Softkeyboards
  • The illume keyboard is quite usable, especially rotated horizontally. To get it to use the full available space after rotating the screen, go to settings, turn the keyboard off and back on again. Or, just check the "Restore after login" box in the screen rotation settings. Then you don't have to toggle the keyboard.
  • I change the the "small" dictionary (by clicking the upper left corner of the keyboard) -- I find the full dictionary to be too slow.
  • I'm now using this layout. It can be extracted on Debian with ar x, and then tar on the data.tar.gz file. See the screenshot from Shashank Bharadwaj who designed it. I've also made it available in my git repo.
  • cellwriter won't work easily with illume, because it shows up as a separate window rather than what the illume keyboard does.
Freedom

I'm testing one of these credit-card sized bluetooth keyboards. It pairs and types and the form factor is excellent.

FrogPad
  • The FrogPad works well, but if frameworkd is in charge of the screen blanking, the screen will go blank while you're typing. I solved this by commenting out the "Idleness Brightness Handling" section of /etc/freesmartphone/oevents/rules.yaml file. Now screen blanking is just handled by X, and so it stays on while I'm typing.

Phone

I'm working on getting acceptable audio quality. I can get audio through my wired headset by manually loading the state file after the call connects, but it's far too soft by default and the microphone on the headset does not work.

Echo issue

I am currently not experiencing any complaints about echo.

Things to try if the problem appears:

For sound out of the handset, the Improving_user_experience page says to set control.4 Speaker Playback Volume to 95.

http://docs.openmoko.org/trac/ticket/1267

http://lists.openmoko.org/pipermail/hardware/2008-August/000451.html

Buzzing

http://www.mail-archive.com/support@lists.openmoko.org/msg00564.html

http://docs.openmoko.org/trac/ticket/883

http://docs.openmoko.org/trac/ticket/1352

http://people.openmoko.org/joerg/GSM_EMI_noise/big-C_rework_SOP__DRAFT3__.pdf

fso-el

This is my project to create an Emacs interface to the freesmartphone API. It's what I will be using for the time being to make and receive calls, and send and receive SMS.

The home page with information about getting the code is http://wiki.wjsullivan.net/collaboration.cgi/FsoEl.

Paroli

Paroli

Zhone

Zhone requires python bindings, from https://svn.enlightenment.org/svn/e/trunk/BINDINGS/python ? Installing this requires python-setuptools. The default path should also be changed because it tries to install things to /root/usr...

I'm suffering from the infamous buzz and so far am not able to use the device as my regular phone.

Build deps

These are packages I needed to install in order to build Zhone. apt-get build-dep zhone didn't work -- no source package available.

  • cython

Reading

I'm using epdfview to read PDFs. I had problems with it crashing on larger PDFs at first, but I haven't seen that in a while. I think it's probably because I added a swapfile. xpdf and evince are also options.

Google's mobile book search works great.

fbreader is also good, even just the version installed from Debian. It supports ePub books.

Time

I use ntpdate-debian -u to sync the time, then hwclock --adjust immediately to fix the hardware clock. I also have ntpdate-debian -u run as an ip-up script on ppp/GPRS connect.

I haven't found a good alarm clock app yet.

Time is displayed in small analog clock form in the e17 toolbar. It's not ideal but it's okay for now.

Web browsing

Iceweasel configuration
  • Set my home page to http://delicious.com/johnsu01/mobile, which will have frequently used bookmarks, but I have the start page set to blank.
  • Remove the search from the navigation toolbar. (Right-click, customize toolbar, drag the search box to the dialog.)
  • Disable autocompletion in the address bar -- makes typing impossible. I had to do this (and other iceweasel configuration) over X forwarded ssh, because iceweasel config windows keep coming up larger than the screen.
  • Probably need to install Adblock and add a filter to block all of these javascript form field suggesting scripts (like google.com or youtube.com) -- they really slow things down and make typing frustrating.

I tried the delicious extension but it seems to make things too slow. I might try again. The reason I'm using iceweasel instead of midori is because I'm hoping that one of the mouse gesture extensions will be useful.

w3m in Emacs

I'm experimenting with using this more. With an Emacs X frame open, I can display the images as well and it seems like a reasonable way to look at most pages.

Other options

Fennec doesn't build easily yet, though some people apparently have it working.

NetSurf was too buggy for me -- very strange things were happening in input fields. Plus, it doesn't support JavaScript, and seemed a little sluggish.

Performance

Boot time with u-boot was about 3 minutes. Switching to Qi has brought it down to about 2. I'm currently starting mpd and mpdscribble at boot, which I will stop by writing a shell script that starts them if they are not already started when I actually open the music player.

I'm also using exim4, which was adding almost a full minute to the boot time. Doing:

 dpkg-reconfigure exim4-config

And answering "Yes" to the "Keep number of DNS-queries minimal" question helped reduce this.

I'm currently experimenting with using a swap file, to see if that improves stability. I made that with:

 dd if=/dev/zero of=swapfile bs=1024 count=524288
 mkswap swapfile

Then added to fstab:

 /swapfile none          swap    sw                                      0 0

And to start using it immediately:

 swapon -a

Suspend

I edited /usr/local/etc/enlightenment/sysactions.conf to use apm instead of acpi to handle suspend, and commented out the suspend event in the rules.yaml frameworkd file. This way I can use the e17 menu to handle things.

Resume wasn't working for me -- when I tried to resume, I got a blank gray screen. I could still do things over ssh, but there was no display. I've fixed that by adding this script to /etc/apm/resume.d.

Important configuration files

My /etc/modules (for 2.6.24 -- this is not needed with the andy-tracking kernel):

   snd-soc-neo1973-gta02-wm8753                                                                       
   g_ether                                                                                            
   bluetooth                                                                                          
   bnep                                                                                               
   ohci-hcd                                                                                           
   hci_usb


My .Xresources:

 UXTerm*font: -bitstream-terminal-bold-r-normal--18-140-100-100-c-110-iso8859-1
 UXTerm*background: black
 UXTerm*foreground: cyan
 XTerm*font: -bitstream-terminal-bold-r-normal--18-140-100-100-c-110-iso8859-1
 XTerm*background: black
 XTerm*foreground: cyan

My .xsession:

 export GTK_MODULES=libgtkstylus.so # enables right-click by holding down stylus in GTK+ apps
 enlightenment_start

My .gtkrc-2.0:

 gtk-font-name = "Sans 6"
 style "scroll"
 {
     GtkScrollbar::slider-width        = 25
 }
 class "*" style "scroll"

(The small font and the large scroll bar are to help cope with dpi issues that xglamo has right now. For portrait orientation I use "Sans 14" for the font.)

FIXME: Need to add sources.list.

Issues

  • Mailutils segfault
  • Iceweasel windows for configuration are opening to a size larger than my screen, which makes them impossible to use.
  • wifi-radar randomly deletes the contents of its configuration file and then won't start when the file is empty. (Debian bug filed.)
  • Font dpi issue

Replicating my install

(I don't suggest you follow these instructions yet unless you are talking to me, they are in progress.)

  1. Install Qi
  2. Boot into SHR or whatever
  3. wget install script and make it executable
  4. QI=true QI_VERBOSE_BOOT=true HOSTNAME=claude ./install.sh all
  5. Reboot
  6. set root password
  7. apt-get install screen apt-utils subversion nano sudo distcc cvs ntp xauth
  8. screen
  9. cd /boot
  10. wget kernel
  11. rm uImage.bin
  12. ln -s NEW_KERNEL uImage.bin
  13. wget modules
  14. untar modules
  15. reboot
  16. dpkg-reconfigure tzdata
  17. fix resolv.conf
  18. edit sources.list -- remove experimental and change mirror to local (maybe this should be done in the install script option)
  19. Get my patched version of raster's e install script: wget http://git.wjsullivan.net/freerunner.git/get_e.sh
  20. chmod +x get_e.sh
  21. export CC="distcc arm-linux-gnueabi-gcc"
  22. export DISTCC_HOSTS="whatever"
  23. ./get_e.sh
  24. dpkg-reconfigure locales
  25. Put .xsession file from above in place over default one (copy the default out of the way if you want first)
  26. copy illume-desktop.menu file to /etc/xdg/menus/
  27. copy Default.kbd from my git repo to /usr/local/lib/enlightenment/modules/illume/keyboards/ (copy the current one out of the way if you want)
  28. copy .Xresources from my git repo to /root/.Xresources
  29. copy .gtkrc-2.0 file from git repo to /root/.gtkrc-2.0
  30. /etc/init.d/nodm restart
  31. make a swap file
  32. install some software: apt-get install tangogps iceweasel claws-mail wifi-radar ttf-bitstream-vera
  33. remove some software: apt-get remove --purge matchbox-keyboard openmoko-panel-plugin
  34. bluetooth?
  35. Modify /usr/local/etc/enlightenment/sysactions.conf to use suspend script instead of acpi.
  36. Put script to fix resume in /etc/apm/resume.d
  37. Comment out the suspend event in the rules.yaml file for frameworkd.
  38. Comment out the handling of the power/execute button in rules.yaml.
  39. Configure screen lock
  40. Set power button to call e17 shutdown menu.
  41. build emacs
  42. install fso-el
  43. Upgrade GSM firmware

SHR

Well, the first test did not go well. It looks nice and feels snappy, but it froze up completely within a few minutes of use. I had to remove the battery and reboot. Also, Midori did not show any address bar, and typing C-l did not help. So I was unable to actually enter a web address to browse to.

The freezing has stopped, but there are other issues.

The dialer crashes after pressing Call, with a resource not available error. Trac ticket explains that this is because SHR doesn't work / isn't tested with the andy-tracking kernel.

Reference

This wiki

Enlightenment

Elsewhere

FSO

Debugging

/Backtraces