Lair Of The Multimedia Guru

November 9, 2015

Bluetooth tracking devices/tags/”key” finders

A while ago in coverity while fixing FFmpeg bugs there was a some kind of Nominate a bug, win a prize thing, i didnt ever nominate one but this was when i learned about the existence of tile which would have been the prize one could win. A BLE device that can be attached to something valuable and that can then be searched and found with a recent android or iPhone, or the other way around using the device to find your phone.
This seemed potentially useful to me, though i personally have never lost my keys or phone for more than a few seconds, i know someone who does have that problem. So i thought buy a tile or 2 they might come in handy for something but then i saw the price, non replaceable, non rechargable battery and thought ok, didnt expect someone would be that lame. I guess one should not expect any company not to attempt to rip its customers off to the maximum extend possible.

Lucky there are many similar devices, so the goal was to find the cheapest that works and is not just tied to a ridiculous business model. So i bought some of the cheapest i could find (they of course all have user replaceable batteries …)
First is something that identifies itself as

ITAG

IMG_0383-1280IMG_0384-1280
The above one is one example of these, they come in many different shapes, cost less than 5$ with free shipping. The first i got had a different shape and came with a dead battery and also ate a new battery within a day. The second i got is the one pictured above, which worked more or less.
When Off, A long press on its large surface switches it on with 2 beeps.
When On or connected a long press switches it off with a long beep (this renders it useless as its easy to press by mistake)
When on but not connected its led also continuously blinks, draining the battery but making finding easier, it also at least once hanged and required the battery to be disconnected for a moment to function again.
On the BT protocol side setting immedeate alert to 2 results in 30 beeps and led blinks, setting link loss to 0 or 2 has no effect, the device always beeps on unintentional connection losses as far as i could figure out. pressing the button results in a notify with value 0x01 on 0000ffe0-0000-1000-8000-00805f9b34fb / 0000ffe1-0000-1000-8000-00805f9b34fb.
To make the itag only blink and not beep on immedeate alert, 0000fff0-0000-1000-8000-00805f9b34fb/0000fff1-0000-1000-8000-00805f9b34fb can be set to 0x00, this is remembered over disconnects but not over switching the tag off. All other values seem to cause blinking and beeping.
To identify it this may be helpfull:

  • 0x2A29: CEVA
  • 0x2A24: BT 4.0
  • 0x2A25: 12x07x2012
  • 0x2A27: SM-1
  • 0x2A50: Bluetooth SIG Company: Ceva, Inc. (formerly Parthus Technologies, Inc.)
    Product Id:13330
    Product Version: 26369

Smart Finder

IMG_0380-1280IMG_0386-1280
The above is another sub 5$ tag, which appears identical (minus the logos) to tags on amazon from chirotronix and ikee.
The official software for android (“small lovely”) has a rather long list of unneeded permissions like for the previous tag (“iTracing”) but for this theres also no inofficial sw i could find for android which supports these tags, which is why i reverse engeneered the protocol
When off a long press switches it on with a long beep, to switch it off again 5 rapid short presses are needed (resulting in 3 beeps).
When in On mode pressing the button results in 2 beeps this also causes the “#255 Manufacturer Specific Data” to change from 0x58,0x48,0x52 to 0x58,0x48,0xFF for a few seconds, apparently to identify which of potential several devices one wants to connect to. Switching the device off also seems not possible while it is connected. On connect and disconnect its led flashes once.
Protocol wise neither “link loss” nor “immedeate alert” have any effect that i could identify. To make the device beep and blink a command must be written to 0000fff0-0000-1000-8000-00805f9b34fb / 0000fff1-0000-1000-8000-00805f9b34fb. A single 0xAA results in some short beeps and blinking. Its also possible to write a 5 byte command 0xAA 0x03 count duration1 duration2. The count is the number of beeps, the 2 durations are the beep and non beep durations in milli seconds, i dont know what the 0x03 does or if there are other interesting commands.
To detect button presses the device can send notifies on 0000fff0-0000-1000-8000-00805f9b34fb / 0000fff1-0000-1000-8000-00805f9b34fb with a 3 byte value, it is either (0x01 xx 0x00) xx = number of short button presses or (0x02 0x00 xx) xx = number of seconds button is hold
To identify it this may be helpfull:

  • 0x2A29: SIGNAL
  • 0x2A24: BT A8105
  • 0x2A25: 00001
  • 0x2A26: F4F5V02
  • 0x2A27: A8105F4
  • 0x2A28: 1030627

The name of teh device is “AMIYJ_5B68”, i dont know if this is true for all these devices, google seemed not to have any hits on that.
It seems using a A8105, (the ITAG seems using a BK3431) datasheets can be found with google.
Interestingly theres also a entry for “Heart rate” on the bluetooth level, so i guess this shares some code with some other devices.

IMG_0382-1280

Hope something above is useful to someone

Update: 2015-11-09: corrected itags link loss behavior
Update: 2015-11-10: Added names of the official apps
Update: 2015-11-14: Added itag blink only info (found by and thanks to Joachim Schäfer)

Filed under: Electronics,Hardware,Off Topic,Reverse Engineering — Michael @ 3:16

June 7, 2015

Loongson 3A heat and noise

The Loongson 3A box i have is loud, which was a bit of a surprise to me. Subjectively the noise from its CPU fan is significantly louder than my 2 overclocked 6core i7 boxes together though nowhere near the hurricane level of the powermac.
Originally i had planned to run the box 24/7 or similar and submit results to fate.ffmpeg.org. But for a box standing in my living room the noise level was too high for that.
Obvious solution rip the fan out and stick a less noisy one in,
IMG_9336B
its a standard 60x60x15.5mm fan, i choose the Noctua NF-A6x25 FLX as replacement, i didnt pick the PWM variant because for some reason the 4pin cpu fan connector was unused and the old fan used a 3pin sys fan connector, so it felt safer to me to use the same.
To remove the old fan t he board must be removed, as the screws cant be undone without holding their behind.
IMG_9338B
With the screws and the fan, the heatsink comes off too:
IMG_9339B
The old thermal compound seemed not entirely uniform, part of it looked more solid than the rest. I intended to apply new anyway so that doesnt matter though, with the stuff cleaned off it looked this way:
IMG_9340B
As the noctua fan is thicker the screws cant be put all the way through the fan as they would be too short, putting them only through the bottom part makes them stick out at the bottom of the main board a bit more but there is enough space, ive also slightly bent the outtermost heatsink fins a tiny bit inward so they rest on the rubber part of the fan and added some o rings around the screws for a bit of extra vibration decoupling which was probably useless.
Thats how the result lookes:
IMG_9342B
and theres the old fan:
IMG_9343B

Does it still work ? yes and it still passes fate
What about heat? before /proc/cputemp was between 40 and 42°C and now its between 38 and 41 °C both while running fate.
For noise testing i put a microphone 3cm in front of the closed box (thats far away from all fans). I was too lazy to switch my other boxes off though:

sys-off-spectrum old-spectrum

new-spectrum

Loongson Box switched off Original (AVC) fan New (Noctua) fan
Filed under: FFmpeg,Hardware — Michael @ 3:30

May 22, 2015

FFmpeg FATE tests on Loongson

After the patches from loongson yesterday, FFmpegs full fate testset passed.

time make fate -j4 -k >& fatelist8
real 28m32.631s
user 98m50.422s
sys 12m53.547s

Filed under: FFmpeg,Hardware — Michael @ 17:16

May 8, 2015

Loongson MIPS Box

Loongson very generously donated a MIPS box with “ICT Loongson-3A V0.5 FPU V0.1” CPU, 500gb 7200rpm WD Caviar Blue HDD, 4gb RAM and a power cable with Chinese plug to FFmpeg. Picture of the inside of the box:
IMG_9334D
Quick power meassurments show

  • ~1W when OFF
  • ~44W when IDLE
  • ~48W when running fate tests

Quick FFmpeg build benchmark with gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1):

  • 4m49.192s for time ./configure --enable-gpl --enable-pthreads --samples=/home/loongson/fate/ --enable-nonfree --enable-version3 --assert-level=2 --cpu=loongson3a --enable-loongson3
  • 19m31.114s for make -j4
Filed under: FFmpeg,Hardware — Michael @ 4:00

February 28, 2015

New computer

I got a new computer, it has 2 liquid cooled CPUs, a Samsung 850Pro SSD, 9 cooling fans, 2 network adapters, >1kw power supply and weighs about 22kg. Its a Power Mac G5, (late 2005 model, which is apparently the last model that was built) and i got it at a good price, i guess because it looked a bit dented from outside but interrestingly on the inside it showed nearly no signs of use or damage, there was not even vissible dust inside.
It came with OSX on some western digital HDD with a apple logo on it. I replaced that one with the SSD which mysteriously didnt work on my first try but when i conected it to the 2nd SATA connector it worked fine. And as i quickly realized OSX is too outdated on PPC to be usable, so i installed debian on it which worked fine but took a bit long to install for unknown reasons, i expected it to finish in maybe 30min or so on a SSD but it took much longer, dont remember exactly how long. So far the only real issue i noticed is that one of the CPUs gets too hot causing the kernel to reduce its speed. I saw no signs of leaked coolant though. I guess as long as it works and i see
no leakage i wont spend more time on that issue though
FFmpeg build and fate also passed on it :)

Filed under: Hardware — Michael @ 2:26

January 12, 2015

Seagate barracuda

2 Days ago shortly after i woke up, i heared a squeek, klick, squeek, … noise from my computers. A quick run of smartctl didnt reveal anything majorly wrong, and the noise stopped for a moment. when it started again, i systematically tried putting disks in sleep mode with hdparm to identify which if any hdd was making these noises. But no hdparm command affected the noise, then slowly waking up, i realized that i actually had more disks in the box than i got results from smartctl, also a look in syslog confirmed that ata2 was not healthy, teh first failed command was at 12:25:54, ata2.00: failed command: IDENTIFY DEVICE, a minute later ata2: reset failed, giving up. Restarting the box and reconnecting the cables did not help either.
My last smartctl output of it from 2 month ago listed it at 20687 Power_On_Hours and 2504 Reallocated_Sector_Ct, none of the values was above their thresholds.
This disk was used for half my fate clients before i moved them to a more powerfull box and it itself was a replacement for a failing 1tb samsung disk, well ironically the samsung disk that the 1tb seagate disk should replace still works though with 3458 pendng sectors.
Iam not sure if iam imagining it but it seems like the quality of disks is getting worse each year
Though luckily this one had nothing important on it, or at least nothing i remember ;)

Filed under: Uncategorized — Michael @ 21:39

January 6, 2015

WordPress spam filters

Many years ago the spamfilter i used for this blog was spam karma 2, it was free, it worked and it worked well. Sadly it hasnt been maintained or updated by anyone since a really long time, which did not improve its ability to keep spams away as spambots and spammers evolved. Also with each update of wordpress it started falling apart more until finally with the update to 4.1 spam karma 2 stoped working, assinging every spam a large positive karma value
So i enabled akismet and bad behavior which where already installed. If anyone has difficulty posting a comment due to them, please email me and ill try to look into it.

Filed under: Uncategorized — Michael @ 1:54

September 20, 2014

my FATE clients

Most of the x86 fate clients i did run, where run as VMs on a aging 2 core Westmere/Clarkdale i5 @ 3.33ghz. As ive added more and more virtual machines and configurations and the list of tests done by fate increased over the last 3 years, the box started to show its age, over these 3 years 1 HDD nearly failed, 1 SSD failed in it and as the amount of tests run kept increasing the time between tests being repeated kept getting longer.
About a week ago i ordered a new box to replace it finally. To my surprise the shop (in germany) refused to ship the HDD&SSD to austria, after a few minutes research on the matter i learned that apparently austromechana threatens german shops who dont pay them a fee on storage media thats sold to someone in austria. I guess one could also say European union & free trade at its finest.

But back to the topic, most of my x86 fate clients now run on a shiny new 6 core haswell @4.3ghz + samsung SSD. So the affected clients should be alot faster now and there are also already more tests being run, ive changed many of my clients to test the 3 currently maintained release branches in addition to git master.
Also, if you have some platform that supports FFmpeg and isnt on fate.ffmpeg.org, and you want to help FFmpeg, please setup a fate client (See the fate documentation).

Filed under: FFmpeg,Hardware — Michael @ 3:33

July 26, 2014

Noodles

IMG_4592-small

Filed under: Cooking,Pictures — Michael @ 15:46

July 7, 2014

Toothbrush

Its quite a while since ive updated my blog, and indeed ive a few things i wanted to put up but have always had something more important to do, well. Today, ive finally decided to skip doing important things and put up something really unimportant.
A while ago I was reading the manual of a toothbrush, an electric ehm “sonic” toothbrush. It said something like 40000 revolutions per second. Reading that and looking at the humble, el-cheapo toohbrush i didnt belive it, so i had to find out how fast the thing vibrates (it actually doesnt do full revolutions). Using my soundcard was out of question as that wouldnt work above 24khz. So i used a old analoge osciloscope that i got for 15 euro from a local flea market a while before.
IMG_4563small
You can see on the scope, the vibration of the toothbrush head as well as a 1khz reference square wave. The trick is that the toothbrush head is made of some kind of plastic and by rubbing it against something, it becomes electrostatically charged. Just holding the scope probe near then shows the movement of the head.
We can see on this that in about 6 cycles of the 1khz signal we have 2 cycles of the toothbrush, which would give ~1000/3 hz.
Which is 120 times off from 40000, if one considers both ends of the vibration instead of a full cycle its 60 times off. And at that point i looked at the manual again and realized it said 40000 U/min not sec :)
Which proofs my way of measuring it is quite spot on, but my way of reading the manual isnt.

Filed under: Off Topic — Michael @ 4:23
« Previous PageNext Page »

Powered by WordPress