The TV would not boot: four gigabytes and the channel service
ContenidoContents
Last night, at my mother’s, the smart TV would not boot.
It is a JVC, Vestel Cosmos board, Android TV. The internal disk is 4.2 GB. It was at 100%, and with the disk like that the system never finishes starting. The storage warning covered everything else.
How I got in
The menu had no wireless debugging. USB debugging was there. On these sets that is enough: port 5555 opens on the TV’s IP, and the Mac reaches it over the network. The TV’s USB port is for flash drives, not for debugging.
On the TV, with the Mac on the same Wi-Fi:
- Settings → Device preferences → About.
- On Android TV OS build, press OK seven times, until it says you are a developer. Kernel version and software version do nothing for this.
- Back to Device preferences → Developer options → turn on USB debugging.
- The IP is in Settings → Network & Internet, inside the connected network.
That night the TV was 192.168.1.136.
1adb connect 192.168.1.136:5555
The screen asks Allow USB debugging?. I checked always allow from this computer and accepted. If the TV powers off before Android has started, the prompt never appears. There is nobody to ask.
What filled it
1adb -s 192.168.1.136:5555 shell 'df -h /data'
4.2 GB, at 100%. dumpsys diskstats splits that space by package. Almost all of it was one name: com.mediatek.tv.service, about 2.8 GB of data. That is the channel service, from MediaTek. It was not Netflix, YouTube, or the Google account.
Trimming the system cache (pm trim-caches) freed about 100 MB. pm clear com.mediatek.tv.service reported success and the disk stayed full. The process still had the files open. While it is running, clearing its data does not release the space.
I stopped it, killed it, cleared it, and rebooted:
1adb -s 192.168.1.136:5555 shell '
2pm disable-user --user 0 com.mediatek.tv.service
3pid=$(pidof com.mediatek.tv.service)
4kill -9 $pid
5pm clear com.mediatek.tv.service
6pm enable com.mediatek.tv.service
7'
8adb -s 192.168.1.136:5555 reboot
When it came back, df showed about 2.8 GB free out of 4.2 GB. The storage warning goes away. The TV may ask to scan for channels again. App sessions stay.
What I removed after that
With enough room to boot, I looked at the rest. I removed apps that were not needed just to watch the TV. pm uninstall --user 0 hides them for the TV user and leaves the system package in place:
1adb -s 192.168.1.136:5555 shell '
2for p in \
3 com.google.android.play.games \
4 com.google.android.videos \
5 com.google.android.marvin.talkback \
6 com.google.android.youtube.tvmusic \
7 com.google.android.apps.nbu.smartconnect.tv \
8 com.cltv.fast
9do
10 pm uninstall --user 0 $p
11done
12'
That is Play Games, Google TV movies, TalkBack, YouTube Music, Smart Connect, and the FAST channels app. The disk barely moved: from 1.4 GB used to 1.2 GB. The channel service had already made the big hole.
On that TV, Netflix, Prime Video, and YouTube were not needed either. Those three do take space, because the update lives on the data disk. You have to remove the update and also hide the package:
1adb -s 192.168.1.136:5555 shell '
2for p in \
3 com.netflix.ninja \
4 com.amazon.amazonvideo.livingroom \
5 com.google.android.youtube.tv
6do
7 pm uninstall $p
8 pm uninstall --user 0 $p
9done
10df -h /data
11'
3.2 GB free out of 4.2 GB. If they are wanted later, Play Store can install them again.
So it does not fill itself
The disk is small. Every app update is stored there, and that is what filled it until the TV stopped booting. System updates barely arrive on this JVC, and when they do they fit. App updates do not.
In Play Store: Settings → Auto-update apps → Don’t auto-update apps.
I turned it off with the TV button, waited about fifteen seconds, and turned it on again. It booted without the warning.