USB tethering a OnePlus One phone to Windows XP

 Android, Windows  Comments Off on USB tethering a OnePlus One phone to Windows XP
Jun 102018
 

For whatever reason my old Windows XP netbook doesn’t connect to our holiday flat’s WIFI while my OnePlus One Android phone does. So I thought I’d simply tether it to the Netbook via USB to get around this problem. I tried that before with other phones and other computers and don’t remember ever having a problem. This time I got a prompt to install a driver for a rndis device, which failed because I had no Internet connection (It might also have failed if I had one but I couldn’t try.)

So I turned to Google and found multiple posts suggesting to download a tetherxp.inf file and simply use that to install the drivers which apparently are already available in a standard Windows XP installation.

I downloaded that file from one of the links, put it in an empty folder and tried to install it. No luck. It took me a while to find this post on quora, which contains an additional point:

4. Now this is where some of you will get lost, you need to open up the tetherxp.inf file with your favorite code editor (Start->Run->Wordpad). Create a new line below “[AndroidDevices.NT.5.1]” containing your Device Instance Id.

This turned out to be the important part: The tetherxp.inf file contained entries for several widely used phones, but of course not for my rather rare one, so I had to add two lines to it:

[AndroidDevices]
; OnePlus One without adb
%AndroidDevice%    = RNDIS, USB\VID_05C6&PID_676A

[AndroidDevices.NT.5.1]
; OnePlus One without adb
%AndroidDevice%    = RNDIS.NT.5.1, USB\VID_05C6&PID_676A

The part after “USB\” is taken from the details pane of the “rndis” device in the hardware manager.

After adding these two lines I switched back to the “Driver” tab and clicked “Install Driver”. In the following Wizard, I selected “No, not this time” -> “Next” -> “Install from a list or specific location” -> “Next” -> “Don’t search, I’ll choose the driver to install” -> “Next” -> “Have Disk” -> “Browse”. Then I selected the modified tetherxp.inf file and pressed “Open” and “OK” and “Next” again. I then had to tell Windows to ignore that the “Driver” was not digitally signed to finally really get it to install it.

Diesmal funktioniert alles. (Spliff, “Computer sind doof”).

 Posted by on 2018-06-10 at 21:55

SyncThing for Android

 Android, Windows  Comments Off on SyncThing for Android
May 282017
 

I blogged about SyncThing before, when BitTorrentSync started to annoy the hell out of me. SyncThing is an open source tool for synchronizing directory trees between different devices without requiring a cloud service (it needs a discovery server though in order to actually find these devices).

There is also an Android app for it as well as a tool called Anyplace Sync Browser that does not sync but allows you to selectively download files from SyncThing directories to your phone.

Unfortunately SyncThing is far from easy to install and configure. It seems easy when you read the documentation (OK, not easy, really, it’s too technical for the average user and is missing a lot of information for professionals) but if anything goes wrong, you are on your own. And something goes wrong every so often, especially when there is an update.

By default, it is a console program that runs in the background (daemon) and on Windows can be made into a service by using e.g. NSSM – the Non-Sucking Service Manager. Configuration is then done via a web interface provided by that program. But there are also native GUI front ends.

The Android app also comes with a UI, but that GUI is atrocious. I have rarely seen a tool with so confusing a UI.

On the bright side, there are programs for Windows, any flavor of Unix you can think of and the aforementioned Android App. When it works, it is great.

I use it for:

  • Sync photos from my phone one way to my desktop PC
  • Sync text files with notes and checklists both ways between my pone and my desktop PC

So, even though I think it is overly complicated, I still like the idea and am using it.

 Posted by on 2017-05-28 at 13:44

Denkzettel a simple note taking program

 Android  Comments Off on Denkzettel a simple note taking program
May 282017
 


Denkzettel is a simple Android app by Silvio Schurig for writing notes as text files and organizing them into categories (= subdirectories) on an Android smart phone. It can also use these files as check lists.

In contrast to most other apps of this type it does not integrate into an online service. The data is strictly kept on the phone. In combination with any sync tool (e.g. syncthing) you can still keep your data in sync with e.g. your desktop pc.

I love it.

 Posted by on 2017-05-28 at 12:59

If your OnePlus One won’t turn on but only vibrates

 Android  Comments Off on If your OnePlus One won’t turn on but only vibrates
Mar 192016
 

Note to self: If your OnePlus One smartphone won’t turn on but only vibrates for a short time when you press the power button, that probably means the battery is dead. If it has already been on the charger for some time, make sure that you didn’t plug the charging cable upside down into the charger (it fits both ways but only one way works). If that isn’t the problem, try a different cable and/or charger.

 Posted by on 2016-03-19 at 13:45

SyncThing as an alternative to BitTorrentSync (btsync)

 Android, Linux, Windows  Comments Off on SyncThing as an alternative to BitTorrentSync (btsync)
Apr 082015
 

A while ago I blogged about using BitTorrentSync as a privacy conscious alternative to the more popular cloud services like Google Drive or DropBox.

BitTorrent recently released btsync version 2 which, apart from trying to sell you a so called PRO version, changed the user interface yet again and also changed the way you set up your installations significantly. Actually, there seems to be no upgrade path, you have to configure your peers all over again. And, just in case that’s not enough incentive for looking for an alternative, the new Windows version does no longer run on Windows server OSes.

One possible alternative is SyncThing. It’s also peer to peer and the configuration is quite similar. In contrast to btsync it is open source. It is available for most desktop OSes and also for Android.

I tested the (official) 64 bit versions for Windows and Linux and it worked so far. For our Ubuntu server I used the initd script from the SyncThing forum. On Windows I just started the program in the console.

Next step is the Android version.

 Posted by on 2015-04-08 at 16:52

Segmentation fault on startup in Delphi XE6 Firemonkey application for Android

 Android, Delphi  Comments Off on Segmentation fault on startup in Delphi XE6 Firemonkey application for Android
May 292014
 

After I attended the Delphi Power Workshop on mobile development with Delphi XE6 in Essen last week, the mobile development virus has taken hold of me. So I tried successfully to compile the demo apps for both, my Nexus 7 tablet and my Samsung Galaxy Note (GT-N7000) smartphone. That these worked out of the box got me hooked even more.

So, now I am writing my first useful App which is going to be a simple random number generator emulating the various dices used in games (In German dice is “Würfel” and there are several standard ones called W4, W6 (that’s the most widely used one), W8, W10, W12 and W20. My App is going to support these and in addition a custom one.

But back to the topic. I created a new “Firemonkey mobile Application” with a simple form, added a few controls and events and tried to run it on my smartphone. It immediately crashed with a segmentation fault in TFormBorder.GetSupported (unit FMX.Forms). Segmentation fault is the Android (Linux) equivalent of an Access Violation on Windows, most likely caused by referencing a NIL pointer. Being new to Android and Firemonkey development, I was expecting some very simple but hard to trace cause for this, like forgetting to call some initialization function I didn’t know about.

First thing I did was typing the error message and the method name into Google, but nothing turned up. Apparently I was the first one who had encountered that problem and talked about it.

So next I put a breakpoint into the method and checked the variables. As expected, there was a NIL pointer: Self was NIL. I traced back up the call stack and found that apparently the form’s ResizeHandle method was called before the form was properly instantiated. Then it dawned to me. I had made one of the most basic mistake in Delphi development: I had forgotten to call inherited Create in the form’s constructor.

So, even an old hand (or old fart, if you prefer that) in Delphi development can make basic mistakes. Also, what was wrong in Delph 1 in 1995 is still wrong in Delphi XE6 in 2014.

After I fixed this problem, everything works as expected.

 Posted by on 2014-05-29 at 11:31

“Insufficient Storage Available” and “Unfortunately android keyboard has stopped” on my Samsung Galaxy Note

 Android  Comments Off on “Insufficient Storage Available” and “Unfortunately android keyboard has stopped” on my Samsung Galaxy Note
Jan 252014
 

Yesterday, all of a sudden my smartphone (a Samsung Galaxy Note N7000) started to misbehave. The first thing I noticed was that the battery was down to <15% rather early in the day. I didn't think much about it, just plugged it into the charger and forgot about it. This morning I wanted to put it back into my pocket and noticed that it was now complaining about "Insufficient Storage Available" with the hint to uninstall some apps or widgets. Since I haven't installed anything for a while, apart from the regular updates, I thought that rather strange. Especially since there was lots of space free on the micro sd card. Of course internal storage is always at a premium so that was probably what the shortage was about. It turned out that from the 2 gb internal storage apps used 540 mb and cached data used 35 mb, so where did the other >1.3 gb go?

This answer to a stackverflow question, which interestingly enough is also about a Galaxy Note, offered the solution. Apparently some stupid app writes log files to internal storage and never deletes it. In /data/log I found more than 1500 log files, each around a megabyte in size. I guess that explains where the storage space went. Deleting these files was easy enough since I run a rooted CyanogenMod, so I could just use the installed file manager to do it. That took care of the warning.

Added 2014-12-30: There is another directory with log files in /sdcard/logs

Unfortunately that wasn’t all of it. Another error message kept popping up: “Unfortunately android keyboard (AOSP) has stopped”. I had ignored it until then because I thought it might be caused by the storage problem as well. It probably was but it wasn’t solved by freeing more storage. Even after a reboot of the phone it kept crashing so I had to investigate further. Google turned up this blog post FIXED! – Unfortunately Android Keyboard Has Stopped Solution which caught my interest because of the upper cased “FIXED” in the title. And – wonders of wonders – it actually explained the fix: Clearing cache and data of the “Android keyboard (AOSP)” and “Dictionary Provider” apps solved the issue for me.

So I could finally start assembling the bloody kitchen cabinet which turned out to be much easier than I thought.

 Posted by on 2014-01-25 at 21:17

More on BitTorrent Sync

 Android  Comments Off on More on BitTorrent Sync
Nov 042013
 

Following up on my post on BitTorrent Sync here is some more information and use cases.

There is at least one alternative to BitTorrent Sync that is open source: Seafile is a cloud service. I have only read about it on their website but it looks interesting.

Now to the use case:
If you are like me you are storing lots of data on your smartphone, in particular passwords and other sensitive data. While it is convenient to have this data with you all the time there is always the danger of the phone being lost or stolen and – if you are paranoid enough – the data being stored on Google’s servers (or the servers of a different cloud service).

Of course there are many options to encrypt the data on your phone like KeePass etc. What I don’t like about these solutions is the fact that they encrypt everything, not just the sensitive parts. So if I just want to look up the URL of a website which I use so infrequently that I tend to forget it, this is rather cumbersome. Therefore I use plain text files and encrypt only the parts I deem sensitive (passwords etc.), using the txtCrypt app. Since there exist alternative implementations of the txtCrypt algorithm, including a Web App I can be sure to still get to the encrypted parts even if my phone is not available for decryption.

The other problem with the phone getting stolen is backup and accessing the backup without another phone. There are lots of note keeping apps that synchronize with cloud services (e.g. Google Keep, Evernote or Flick Note). I used all of them for a while to try finding the one that I like best. Unfortunately I didn’t feel comfortable in the knowledge that I have no control over how and where the data is stored, so I abandoned them for the text file approach. For the backup part I have started using the BitTorrent Sync app to sync to my desktop computer (which is backed up anyway). There is another advantage of this approach: You can add and edit files using a real keyboard and the text editor of your choice rather than the virtual keyboard on your phone.

 Posted by on 2013-11-04 at 12:12

Accessing files on a Samsung Galaxy Note through USB

 Android  Comments Off on Accessing files on a Samsung Galaxy Note through USB
Jan 202013
 

I have been using a Samsung Galaxy Note smart phone for months and never experienced any real problems with it. Because of that I got bold, rooted it and installed a nightly build of CyanogenMod on it. All worked fine and I lived happily on…

Until today:

I tried to access the files stored on the “internal SD card” (which in reality is a part of the internal storage mounted as /mnt/sdcard) through an USB connection from my Windows computer. This used to work fine. I could just connect the USB cable and a new multimedia device would show up that offered me the internal drive for copying files to and from it. The same seemed to still hold today, until I wanted to copy one particular file in order to print it. It just wasn’t there!

I got really scared because that particular file is very important for me. The first thing I did was fire up ES file explorer on the Note and check whether the file was still accessible from the phone itself. It showed fine, I could open it and the content was correct. I wiped the sweat from my forehead.

So, what went wrong? Apparently after device manufacturers started adding more and more internal flash memory to their devices it got too large to be managed by Android as internal flash. So they just split it and pretended that one part was an sdcard. They also added the MTP (media transfer protocol) to access these “cards” rather than exporting them as USB mass storage. This was probably for the convenience of the user because through MTP the drive was available for access through USB and from the phone at the same time, while previously you had to switch between those kinds of access. Apparently the implementation of MTP on Samsung phones running CyanogenMod is not quite bug free so there are some circumstances where the content for MTP cached somewhere got out of sync with the actual content on the flash drive. And this resulted in the behaviour I observed.

I also learned that the “old” USB mass storage method for accessing the flash drive is still available. You need to go to System Settings / Storage and there press the menu button to access “USB computer connection”. There you can select three methods of access:

  • Media device (MTP)
  • Camera (PTP)
  • Mass Storage

Just enable the last one and everything works as expected.

 Posted by on 2013-01-20 at 18:41