Lair Of The Multimedia Guru

September 3, 2019

Main development machine failure

2 days ago before going to bed i started some tests on my box. When i woke up yesterday, i couldnt login remotely to the box, looking more careful the box was waiting for keyboard input during boot. It had issues previously and i intended to replace it for a long time. That was on hold because the ryzen 3950X isnt available yet which i wanted to use for a new box.
So i helped it boot, restarted the task and a bit later the box fans and disks spun down it rebooted again. My first thought was power supply or mainboard issue. The box after all was used alot and was somewhat old. I had a power supply laying around which was intended for my the future 3950X. So a little unhappy i moved the other machine that blocked access to the failing box away. Next with some dust mask and vacuum cleaner i removed many years of dust. Having removed all dust that failed to hold on. I wanted to check if it still booted, what temperature it reached and if maybe it worked now. The moment i switched it on i was glad i had the dust mask still on, for some reason more dust was blown out by the noctua fans. And it was interesting to see the dust coming out and some of it being sucked into my still running vacuum cleaner. The machine booted and i restarted the task, it didnt fail. So i tried again and then run fate in a loop. It reached 86°C cpu temp IIRC but it didnt fail or reboot again. Now a day later, the machine showed no further anomalies, it seems happy again.
This was the first time I ve had a system apparently failing from nothing but dust.

Filed under: FFmpeg,Hardware — Michael @ 21:50

January 13, 2019

Another ARM failure

A few days ago when i wanted to run some benchmarks on my cubox, i run into some odd errors, investigation led to the micro sd card. There where several bad sectors that could not be read anymore.
Thats the first time ive myself seen a sandisk micro sd fail. ive seen transcend (really quickly) and kingston (not so quick) fails but no sandisk or samsung till now.
Another point for FATE, another disk it won against…
But how badly damaged is the sd card? ive run ddrescue on it for a few days:

# ddrescue -r 5 /dev/sdd backups/cubox-2019-01-07 backups/cubox-2019-01-07.log

GNU ddrescue 1.17
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 7947 MB, errsize: 493 kB, errors: 217
Current status
rescued: 7947 MB, errsize: 254 kB, current rate: 0 B/s
ipos: 7389 MB, errors: 48, average rate: 122 B/s
opos: 7389 MB, time since last successful read: 1.5 m
Finished
# ddrescue -r 20 /dev/sdd backups/cubox-2019-01-07 backups/cubox-2019-01-07.log

GNU ddrescue 1.17
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 7947 MB, errsize: 254 kB, errors: 48
Current status
rescued: 7948 MB, errsize: 193 kB, current rate: 0 B/s
ipos: 7389 MB, errors: 37, average rate: 10 B/s
opos: 7389 MB, time since last successful read: 7.2 m
Finished
# ddrescue -r 40 /dev/sdd backups/cubox-2019-01-07 backups/cubox-2019-01-07.log

GNU ddrescue 1.17
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 7948 MB, errsize: 193 kB, errors: 37
Current status
rescued: 7948 MB, errsize: 176 kB, current rate: 0 B/s
ipos: 7389 MB, errors: 36, average rate: 1 B/s
opos: 7389 MB, time since last successful read: 41.4 m
Finished
# ddrescue -r 80 /dev/sdd backups/cubox-2019-01-07 backups/cubox-2019-01-07.log

GNU ddrescue 1.17
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 7948 MB, errsize: 176 kB, errors: 36
Current status
rescued: 7948 MB, errsize: 172 kB, current rate: 0 B/s
ipos: 7389 MB, errors: 35, average rate: 0 B/s
opos: 7389 MB, time since last successful read: 4.7 h
Finished
# ddrescue -r 160 /dev/sdd backups/cubox-2019-01-07 backups/cubox-2019-01-07.log

GNU ddrescue 1.17
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 7948 MB, errsize: 172 kB, errors: 35
Current status
rescued: 7948 MB, errsize: 163 kB, current rate: 0 B/s
ipos: 7389 MB, errors: 33, average rate: 0 B/s
opos: 7389 MB, time since last successful read: 41.7 m
Finished
# time ddrescue -r 320 /dev/sdd backups/cubox-2019-01-07 backups/cubox-2019-01-07.log

GNU ddrescue 1.17
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 7948 MB, errsize: 163 kB, errors: 33
Current status
rescued: 7948 MB, errsize: 151 kB, current rate: 0 B/s
ipos: 7389 MB, errors: 30, average rate: 0 B/s
opos: 7389 MB, time since last successful read: 4.7 h
Finished

real 1119m16.116s
user 0m1.274s
sys 0m3.877s
# time ddrescue -r 640 /dev/sdd backups/cubox-2019-01-07 backups/cubox-2019-01-07.log

GNU ddrescue 1.17
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 7948 MB, errsize: 151 kB, errors: 30
Current status
rescued: 7948 MB, errsize: 147 kB, current rate: 0 B/s
ipos: 4393 MB, errors: 30, average rate: 0 B/s
opos: 4393 MB, time since last successful read: 15.1 h
Retrying bad sectors… Retry 375^C
Interrupted by user

real 1236m21.926s
user 0m1.383s
sys 0m4.204s

Its interesting to note that even after quite some time there are still damaged sectors which can be recovered. It was just myself loosing patience that made me stop it. Also i have a backup somewhere IIRC so this recovery was just out of curiosity. And maybe ill play more with this card in the future to see if theres anything that can be done to improve recovery.

Hopefully ill have the cubox with a new sd card up and running fate soon again … (should be quite trivial)

Filed under: FFmpeg,Hardware — Michael @ 1:21

October 6, 2018

Pandaboard 5v power supply

A few days ago i noticed that my panda-board died. This is one of the 2 ARM systems on fate.ffmpeg.org.
Resetting or unplugging and re-plugging did not help. Replacing the power supply with a random 5v supply made it come back to life.
The failed power supply is a HNP-24-050 “HN Power Germany”. This is now probably the 3rd or 4th failed power supply for my panda board. The one its running on currently is a random one from ali-express. I must say iam really disappointed by the trash that some german electronic shops sell. All the failed power supplies where bought from germany, not china. The failed supply still produces 5v but when subjected to the slightest load its output collapses to 0, even 200mA is too much.
Ive read on the net that some digikey supply is recommended but both part numbers i found are marked obsolete.
Anyone has any recommendations ? I am not too positive that the 2€ +free shipping supply its running on currently will last very long.
I know i can just run it off a brand name ATX supply or a bench supply but that is a bit inconvenient.
Also if anyone wants to add more ARM hardware to fate.ffmpeg.org, so we have a bit more redundancy, thats certainly welcome

Filed under: FFmpeg,Hardware — Michael @ 23:41

November 26, 2017

DDR3 SO-DIMM in 2017 part2

After running into the row-hammer issue with new DDR3 SO-DIMMS for my notebook, ive tested all my used computers ram. I think i had tested at least some of it previously. These where DDR4 Micron Technology 16ATF1G64AZ-2G1A1 and CML16GX3M4A1600C9 from corsair. Both showed no issues on multiple passes of the row hammer test. Ive also now obtained new SO-DIMMS for my notebook, M471B1G73EB0-YK0 from Samsung and HMT41GS6AFR8A-PB from SK Hynix. Both as well have shown 0 issues in the row hammer test on multiple passes. So it seems that the issue is not as widespread in 2017-11 as looking at a set of 2 modules would have suggested. Ill return the faulty modules …
Iam a bit curious who the manufacturer of the chips on the faulty modules is but there are stickers over them and as i want to return them i dont want to peel these off. And in dmidecode they are just listed as “Corsair”. I guess if Corsair wants to make it hard to find out who made them, they will have to take the blame here.

Filed under: Hardware — Michael @ 2:51

November 19, 2017

DDR3 SO-DIMM in 2017

My notebook has 8gb ram and without swap occasionally that was not enough. So i thought hey trivial put more memory in. And while online resources disagreed on the maximum supported for my Acer Aspire V3-571G. It seems fine with 2 8gb sticks. But …
When running memtest (MemTest86 V7.4 actually, which was the first google pointed me to). It displayed after a while a note, “[Note] RAM may be vulnerable to high frequency row hammer bit flips”. After a short wtf moment, and a bit of research, this is a hardware bug that can be used to flip bits one normally has no access to and exploit an affected machine. I think i did actually read about it years ago but did not immediately connect the note message to it.
But what i find really disturbing is that we have november 2017 many years since its known. And these are newly bought sodimm modules (brand name in fact from corsair, CMSX16GX3M2B1600C9. Both of the 2 modules alone also are affected.
Un-voluntarily that also leads myself to the question, does anyone know of similar sodimm modules (can be slower i dont care) which do not have this issue? Or a way to increase the ram refresh rate on a notebook where this seems not available in BIOS? (I guess i could go read the chipset datasheets but maybe some tool already exists …)

Filed under: Hardware — Michael @ 18:45

October 7, 2017

Samsung CLP-365 Laser printer paper feeder repair

About 3 months ago my cheap/small color laser printer stopped eating. It tried but most of the time it just failed and very soon it completely stopped working, giving a generic paper stuck kind of error so i had to take it apart and fix it as i needed it. I am writing this 3 month after fixing it, as i didnt had time before, but maybe its still useful for someone.
I have the suspicion all printers of this design will fail this way.

Disassembly

The printer is held together with screws and little plastic hooks, below are some pictures of my disassembly of it. The part we need to get to, is a small steel part which is moved by a solenoid.





Below is the part that causes the problem, the sticky foam thing on it has become slightly sticky on the wrong side and is also squished. The device still works if the solenoid is pulsed with sufficient power.

Repair

This is very trivial, remove the decaying black foam thingy and replace it with something that is non sticky on one side and
has dimensions somewhat similar to the original. I used very strong double sided tape to get the thickness and covered in chinese “blue” painters tape from my 3d printer to make it non sticky on one side. If you can, test that the solenoid works before reassembly.

Reassembly

Just undo the disassembly in reverse order, weave all the wires back in as they where before.


3 Months since the repair above, my printer still works and had 0 paper feed failures (unless it run out of paper).

Filed under: Hardware — Michael @ 18:12

September 12, 2016

Notebook keyboards 2016

A few days ago i replaced my acer notebooks keyboard, several of its keys had become unreliable months ago I first attempted to clean it but that just broke some little plastic part off with no improvement. The process was a bit boing, 24 pages of the (well written) service manual 36 screws some epoxy and 2 hours later my note book was working again with new keyboard.
This notebook is definitely not built to be serviced, having to disassemble it partly from the bottom to get to the top. Some screws screw into plastic, many of them have the plastic cracked after screw removial making reassembly tricky. Some screws screwed into metal inserts, 2 of which broke off without me even touching them, requiring the epoxy to reattach the metal inserts onto the brittle plastic. There are also plastic latches before you disassemble things, the ones of the main door at the bottom are indestructable it seems but the ones deeper inside seem not intended to be reused judging from the smaller number of clicking sounds when reassembling …
My previous acer notebook i once dropped and it still works. It also still has its original keyboard and the hp omnibook i had before i could use until many of the keys on its keyboard had no readable symbols on them anymore. Though today that old hp notebooks plastic parts have also become extreemly brittle but its keyboard could be exchanged by just removing one or 2 screws IIRC.
In the distant past electronics seemed to last forever becoming obsolete long before failing. Now it seems most stuff fails long before becoming obsolete.
img_4802-smallimg_4803-small

Both keyboards after the replacement:
img_0676-small
And most disappointingly no parts where left unused after reassembly nor where any missing. I guess my workspace was too tidy.

Filed under: Hardware — Michael @ 22:10

January 11, 2016

Thermoelectric cooler

A while ago searching around on ebay for geeky/nerdy toys i found some Thermoelectric coolers/peltiers for around 2$ with free shipping. So i bought a few of them …
IMG_0474-small

They all worked fine, one had a hole in its silicon sealant though which ive “fixed” with hot glue (first heated the element up to reduce moisture inside then re-sealed it), i dont remember why i didnt use silicon …

I experimented a bit around with 1 and 2 stage TECs on a old heat-sink + fan that was laying around, the best combination interestingly was 2 stages first at 12V 2nd at 5V. though the gain for 2 stages over 1 stage was disappointingly small, IIRC a little over 10°C. Its also interesting to note that my chinese IR thermometer was not able to measure the temperature of the frosted top, it displayed way too low values. Actual real lowest value achieved was measured with a Type K thermocouple, frozen onto the TEC in a drop of water and frosted over for a while (the snowy stuff that forms should provides some extra isolation).
IMG_0377-small
The 2 TECs in above are attached with cable ties, which was very limiting in what could be placed on top

For some reason yesterday i decided to test using the TECs for heating instead of cooling by reversing the input polarity.
That indeed worked and the same device happily boiled drops of water. I didnt think too deep about what the maximum temperature for the TECs was, i didnt expect failure below 180°C, but the top element died at probably around 120-130°C (K type thermocouple in drop of oil on top).
Not entirely believing the apparent facts, i picked another unused separate TEC1-12706 and retried, heating it to 160°C
which seems to have done no harm to it. Though i used the IR thermometer for measuring the 160°C, i should retry this probably with both thermometers but then according to the ebay article page they are max 70°C ;)

Breaking my TEC cooler toy i took it and the failed TEC element apart, Its failure mode was that it showed >10megohm resistance. Cutting its sealant away, it looked like this:
IMG_0460-1280 IMG_0461-1280

And separating it further with a tiny bit of heat and force (probably only heat was needed)
IMG_0463-1280

Also interestingly none of the remaining individual elements tested open, they all had low resistance. I know nothing about TEC failure modes but i wonder if one little part had just cracked from the heat and maybe mechanical stress. They are all in series so one cracking the wrong way should show similar symptoms …

To rebuild the TEC2-toy now ver2, i placed a piece of aluminum on top and tried to attach it with cable ties, but this proofed frustratingly unstable
IMG_0464-1280

My next idea of fixing it with screws, bolts, nuts or such wasnt an option as i lacked parts of sufficient length with non ridiculous diameter. So i cut 2 pieces of the same aluminum stuff and fixed it with 4 springs created out of a single larger spring separated by some foamy stuff for isolation:
IMG_0465-1280 IMG_0468-1280 IMG_0467-1280

In action:
IMG_0470-1280

Also i tested cooling and heating of a glass container with a liquid. (for cooling a drop of water was used as thermal component between glass and aluminum for heating a drop of minnaral oil). Without isolation, the temperature fell to +9.5°C in 1 hour and with some isolation to prevent the warm air from the fan hitting the container, to +2°C in another hour. Iam quite sure sub zero is achievable with a real attempt to prevent coolness loss but i kind of lost patience.
on the hot side i achieved 67°C with the TEC itself being at around 100°C, so if one would risk damaging the unit it might be possible to boil water in a container with it.

Filed under: Electronics,Hardware,Off Topic — Michael @ 5:00

November 27, 2015

Modifying a 80-250V AC Volt/Amp/Power meter to make it work for 0-250V AC

A while ago i bought an old variac on ebay, it was in good shape but lacked any meter, originally that model had a analog voltmeter or something. That was missing, some cut wires sticking out of where it was. As i got it it also had a 6.5Amp fuse in a fuse holder marked as 4A and its output wires connected straight bypassing the fuse.
When i bought it my plan was to stick a cheap digital meter to it, which is what i did and also a modern and correct “fuse”.
IMG_0395-1280
The meter i found and got supported 80-250VAC, i failed to find one supporting AC voltages down to 0V. I originally had not planed to modify it, as it didnt seem a big issue, but it was just annoying that around 70V it dropped out and displayed junk and then went dark.
IMG_0397-1280
Inside it looks like this:
IMG_0398-1280IMG_0399-1280
I saw 2 obvious ways to make this work with lower voltages, first is to make its AC->5vdc supply work with a wider range of AC voltages, the other is to split the voltage sensing off the supply. As my variac provides around 250VAC in addition to the variable and isolated output, using that seemed to be the easier solution.
But before i continue, a warning, do NOT try this unless you understand what you are doing, mains voltage can be dangerous and can injure or kill. Also not all similar looking such meters are neccessary identical and this modification might result in undefined behaviour in that case.
The voltage is sensed through R3 which is 1Mohm, removing it:
IMG_0400-1280
Results in a working amp meter with 0V:
IMG_0401-1280
Next we need an additional connector for the separate AC power and AC sense input, to get that we just need to clear 2 from solder and cut the 2 connected pins on the other side using a file. Note, if you try this modification double check that the new freed up pin is not connected to anything else by some tracks below, it wasnt in the meter i had but that doesnt imply its not in yours.
IMG_0403-1280
Now its tempting to use the same or a new 1meg ohm resistor for the new sense wire added below (and i did and it worked) but this is probably not safe, first you should clear the conductive parts of the logo which are below, off the board and use 2 resistors in series as there is about 230VAC over it, yes it was already before any modifications but still.
IMG_0405-1280
IMG_0416-1280
You can also slightly adjust the value of this resistor to adjust/finetune the volt-meter.
The other side of the resistor is connected with a mod wire to the newly freed up pin on the other side. Again using a file to make some cut in the board to nicely route the wire around.
IMG_0408-1280
The new connector is then connected like this:

  1. Variac secondary tap 1
  2. Variac secondary tap 2 and Load/Output connection A
  3. Variac secondary tap 3
  4. Load/Output connection B

Testing, works:
IMG_0412-1280

Filed under: Electronics,Hardware,Off Topic — Michael @ 0:11

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
Next Page »

Powered by WordPress