piccap
piccap copied to clipboard
piccap cant get root status after update
I had a running system and it was so boring that I tried to update homebrew channel from 0.5.0 to 0.5.1 and piccap from 0.2.3 to 0.4.2 (argh) now piccap cant get root status and service cant be started. hbchannel exec failed! I removed piccap and homebrew channel and rooted tv again. I never made an tv firmware update. its still the same. homebrew channel says root status: ok. ssh is working, so I think piccap have a big problem with my tv. I dont know how to solve the problem.
the problem is old, i read here about a same thing, but it should be fixed in 0.4.1.
I removed piccap 0.4.2 and installed 0.2.3 - all working fine! I updated to 0.4.1 - same fault: calling Piccap-Service to get root-status
Board type | M19_DVB Hardware ID | HE_DTV_W19H_AFADABAA Product ID | OLED65B97LA webOS TV version | 05.20.06 Software Version | 4.9.5-6
Hey, try to reset your config.json
file by either deleting it or echoing a good one:
echo '{"priority":150,"backend":"auto","address":"127.0.0.1","port":19400,"width":320
,"height":180,"quirks":0,"fps":0,"vsync":false,"autostart":true,"nogui":false,"novideo":false,"uibackend":"auto"}' > /media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/config.json
Hi there, I am experiencing the same issue. Can you provide me with the steps to delete the json file ?
Got the same promlem. Removing config file - no changes.
Hello, got the same error here, but found an answer.
There is a typo here: https://github.com/TBSniller/piccap/blob/e81f36167b103c14716a812fb6714a0c5c7a50d7/frontend/js/servicecalls.js#L58
According to the source from webosbrew, instead of elevate-service
, it should be elevateService
Ref code: https://github.com/webosbrew/webos-homebrew-channel/blob/0ae4696721f27bf6d0790cefe14506dfea7a2b50/services/service.ts#L95
I was able to change the file through the terminal, rebooted the tv and it worked.
EDIT: If someone wants to live change it, there are 2 instances to replace in the same line.
this sounds
Hello, got the same error here, but found an answer.
There is a typo here:
https://github.com/TBSniller/piccap/blob/e81f36167b103c14716a812fb6714a0c5c7a50d7/frontend/js/servicecalls.js#L58
According to the source from webosbrew, instead of
elevate-service
, it should beelevateService
Ref code: https://github.com/webosbrew/webos-homebrew-channel/blob/0ae4696721f27bf6d0790cefe14506dfea7a2b50/services/service.ts#L95
I was able to change the file through the terminal, rebooted the tv and it worked.
EDIT: If someone wants to live change it, there are 2 instances to replace in the same line.
This sounds interesting, man.
can you specify which files need to be changed, and where to find them?
or you can also share the line of code that makes the changes.
Also, are you saying that if the changes are made whiles piccap is not running, only 1 file needs to be changed, and that becomes 2 files whiles piccap is running?
can you specify which files need to be changed, and where to find them?
or you can also share the line of code that makes the changes.
Sure, it's the one located in /media/developer/apps/usr/palm/applications/org.webosbrew.piccap/js/servicecalls.js
. It's all in one line, but here is mine with the edit (rename from txt
to js
): servicecalls.txt
Also, are you saying that if the changes are made whiles piccap is not running, only 1 file needs to be changed, and that becomes 2 files whiles piccap is running?
I wasn't that smart, I just updated the servicecalls.js and restarted. Piccap doesn't seem to be autorestarting on mi tv, nor picking up the saved config, but it's working after a manual restart. It's progress, I guess.
There is a typo here
you're wrong. Everything is correct in the program code. Here is a similar one for you in another project https://github.com/webosbrew/hyperion.ng-webos-loader/blob/master/frontend/views/MainPanel.js#L19
you're wrong
Yeah, probably. I just posted what I found and what worked for me. Do you know what the root cause of this issue is? I'm happy to help testing any new fix.
I have the same problem
solved (I uninstalled 4.2>>reboot TV>>reinstalled 4.2 and piccap was able to get root. see post under this)
Same there. Calling PicCap Service zu get root status HBChannel exec failed! Code: undefined How to install older Version piccap? Info: Piccap 0.4.2 "board_type": "O18_DVB", "hardware_id": "HE_DTV_W19O_AFABABAA", "product_id": "OLED55C97LA", "core_os_release": "4.9.7-11", "webos_manufacturing_version": "05.30.11", / # "board_type": "O18_DVB", /bin/sh: board_type:: not found / # "hardware_id": "HE_DTV_W19O_AFABABAA", /bin/sh: hardware_id:: not found / # "product_id": "OLED55C97LA", /bin/sh: product_id:: not found / # "core_os_release": "4.9.7-11", /bin/sh: core_os_release:: not found / # "webos_manufacturing_version": "05.30.11", /bin/sh: webos_manufacturing_version:: not found
I had the same issue, unable to get root.
I uninstalled 4.2>>reboot TV>>reinstalled 4.2 and piccap was able to get root.
Hey guys, yeah this issue can come up when updating from an very old version up to newest. Uninstalling PicCap will clean up all old files. So reinstalling should fix this issue.
@TBSniller may I ask the list of old files that we need to delete? Because I tried that and the issue is still present, there is an eternal loop trying to get root status.
Did you uninstall them reboot TV?
@matiaspirovanovarela I'm aware of these locations:
/media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/
/var/luna-service2-dev/services.d/org.webosbrew.piccap.service.service
/var/luna-service2-dev/client-permissions.d/org.webosbrew.piccap.*
/var/luna-service2-dev/api-permissions.d/org.webosbrew.piccap.*
/var/luna-service2-dev/manifests.d/org.webosbrew.piccap.json
/var/luna-service2-dev/roles.d/org.webosbrew.piccap.*
/var/lib/webosbrew/init.d/piccapautostart
But you should not delete them manually before uninstalling your app. I don't know which sideaffect this would have.
@silfa718 yes, I even tried installing 0.4.2, rebooting, uninstalling, rebooting and installing 0.4.2 again.
@TBSniller I found the following with everything uninstalled. Should I delete them just in case?
root@LGwebOSTV:/var/luna-service2-dev/api-permissions.d# ls -lt
total 28
-rw-r--r-- 1 root root 57 Nov 12 10:09 org.webosbrew.hyperhdr.tv.loader.service.api.public.json
-rw-r--r-- 1 root root 80 Nov 11 09:53 org.webosbrew.hbchannel.service.api.json
-rw-r--r-- 1 root root 54 Nov 10 21:25 org.webosbrew.hyperhdr.loader.service.api.public.json
-rw-r--r-- 1 root root 57 Nov 10 21:07 org.webosbrew.hyperion.ng.loader.service.api.public.json
-rw-r--r-- 1 root root 45 Nov 10 20:54 org.webosbrew.piccap.service.api.public.json
-rw-r--r-- 1 root root 37 Nov 10 20:54 org.webosbrew.piccap.api.public.json
-rw-r--r-- 1 root root 48 Oct 30 22:54 org.webosbrew.hbchannel.service.api.public.json
root@LGwebOSTV:/var/luna-service2-dev/client-permissions.d# ls -lt
total 44
-rw-r--r-- 1 root root 24 Nov 15 18:30 amazon.app.json
-rw-r--r-- 1 root root 53 Nov 12 10:09 org.webosbrew.hyperhdr.tv.loader.service.root.json
-rw-r--r-- 1 root root 37 Nov 11 18:50 youtube.leanback.v4.app.json
-rw-r--r-- 1 root root 81 Nov 11 09:53 org.webosbrew.hbchannel.app.json
-rw-r--r-- 1 root root 48 Nov 11 09:53 org.webosbrew.hbchannel.service.service.json
-rw-r--r-- 1 root root 50 Nov 10 21:25 org.webosbrew.hyperhdr.loader.service.root.json
-rw-r--r-- 1 root root 22 Nov 10 21:21 ui30.app.json
-rw-r--r-- 1 root root 53 Nov 10 21:07 org.webosbrew.hyperion.ng.loader.service.root.json
-rw-r--r-- 1 root root 41 Nov 10 20:54 org.webosbrew.piccap.service.root.json
-rw-r--r-- 1 root root 33 Nov 10 20:54 org.webosbrew.piccap.root.json
-rw-r--r-- 1 root root 44 Oct 30 22:54 org.webosbrew.hbchannel.service.root.json
root@LGwebOSTV:/var/lib/webosbrew/init.d# ls -lt
total 12
lrwxrwxrwx 1 root root 93 Dec 7 10:10 90-start_hyperhdrd -> /media/developer/apps/usr/palm/services/org.webosbrew.hyperhdr.tv.loader.service/autostart.sh
lrwxrwxrwx 1 root root 84 Dec 7 09:42 piccapautostart -> /media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/piccapautostart
-rw-r--r-- 1 root root 190 Oct 30 22:54 README.txt
Just in case, these are my specs:
TV model | LG TV UJ6560 webOS version | 03.60.20 Homebrew version | 0.5.1
@matiaspirovanovarela: You can definitely try it. Think you know it, but just in case: Keep in mind to only delete piccap related files. Deleting the ones from other apps might destroy their permissions. These files will be regenerated when PicCap installs and should be edited when it starts using elevate-service from HBChannel.
And if this also doesn't helped try the following: Install PicCap as normal. Completly reboot your TV and don't start PicCap after starting TV Run these commands in terminal:
/media/developer/apps/usr/palm/services/org.webosbrew.hbchannel.service/elevate-service org.webosbrew.piccap
/media/developer/apps/usr/palm/services/org.webosbrew.hbchannel.service/elevate-service org.webosbrew.piccap.service
These will giving PicCap root permissions Just reboot again Try to use PicCap
Thank you both. I just did this:
- Deleted extra files and rebooted.
- Installed PicCap 0.4.2 from Homebrew. Didn't lunched it, just rebooted.
- Ran the commands from a console (log below). Rebooted.
- Opened PicCap, Seems to work, at least it's not in a root loop (State: status info refreshed).
- Activated Autostart, changed the video capture backend (as my tv is old) and the advanced config (same reason). Saved the config. Rebooted the tv.
- Opened PicCap to check if the settings saved, got the Checking root status loop.
Should I try editing the config file instead of step 5?
root@LGwebOSTV:~# /media/developer/apps/usr/palm/services/org.webosbrew.hbchannel.service/elevate-service org.webosbrew.piccap
[ ] Creating client permissions file: /var/luna-service2-dev/client-permissions.d/org.webosbrew.piccap.root.json
[ ] Creating API permissions file: /var/luna-service2-dev/api-permissions.d/org.webosbrew.piccap.api.public.json
[+] Refreshing services...
telling hub to reload setting and rescan all directories
root@LGwebOSTV:~# /media/developer/apps/usr/palm/services/org.webosbrew.hbchannel.service/elevate-service org.webosbrew.piccap.service
[ ] Creating client permissions file: /var/luna-service2-dev/client-permissions.d/org.webosbrew.piccap.service.root.json
[ ] Creating API permissions file: /var/luna-service2-dev/api-permissions.d/org.webosbrew.piccap.service.api.public.json
[~] Found legacy webOS <3.x service file: /var/palm/ls2-dev/services/pub/org.webosbrew.piccap.service.service
[ ] /var/palm/ls2-dev/services/pub/org.webosbrew.piccap.service.service is a native service
[ ] Updating service definition: /var/palm/ls2-dev/services/pub/org.webosbrew.piccap.service.service
- [D-BUS Service]
Name=org.webosbrew.piccap.service
Exec=/usr/bin/jailer -t native_devmode -i org.webosbrew.piccap -p /media/developer/apps/usr/palm/services/org.webosbrew.piccap.service /media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/hyperion-webos
Type=dynamic
+ [D-BUS Service]
Name=org.webosbrew.piccap.service
Exec=/media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/hyperion-webos
Type=dynamic
[ ] /var/palm/ls2-dev/services/prv/org.webosbrew.piccap.service.service is a native service
[ ] Updating service definition: /var/palm/ls2-dev/services/prv/org.webosbrew.piccap.service.service
- [D-BUS Service]
Name=org.webosbrew.piccap.service
Exec=/usr/bin/jailer -t native_devmode -i org.webosbrew.piccap -p /media/developer/apps/usr/palm/services/org.webosbrew.piccap.service /media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/hyperion-webos
Type=dynamic
+ [D-BUS Service]
Name=org.webosbrew.piccap.service
Exec=/media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/hyperion-webos
Type=dynamic
[ ] Adding permission for name: *
[ ] Adding permission for name: com.webos.service.capture.client*
[ ] Updating roles definition: /var/palm/ls2-dev/roles/pub/org.webosbrew.piccap.service.json
- {"permissions":[{"outbound":["*"],"service":"org.webosbrew.piccap.service","inbound":["*"]}],"role":{"allowedNames":["org.webosbrew.piccap.service"],"exeName":"/media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/hyperion-webos","type":"regular"}}
+ {"permissions":[{"outbound":["*"],"service":"org.webosbrew.piccap.service","inbound":["*"]},{"service":"*","inbound":["*"],"outbound":["*"]},{"service":"com.webos.service.capture.client*","inbound":["*"],"outbound":["*"]}],"role":{"allowedNames":["org.webosbrew.piccap.service","*","com.webos.service.capture.client*"],"exeName":"/media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/hyperion-webos","type":"regular"}}
[ ] Adding permission for name: *
[ ] Adding permission for name: com.webos.service.capture.client*
[ ] Updating roles definition: /var/palm/ls2-dev/roles/prv/org.webosbrew.piccap.service.json
- {"permissions":[{"outbound":[],"service":"org.webosbrew.piccap.service","inbound":["*"]}],"role":{"allowedNames":["org.webosbrew.piccap.service"],"exeName":"/media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/hyperion-webos","type":"regular"}}
+ {"permissions":[{"outbound":["*"],"service":"org.webosbrew.piccap.service","inbound":["*"]},{"service":"*","inbound":["*"],"outbound":["*"]},{"service":"com.webos.service.capture.client*","inbound":["*"],"outbound":["*"]}],"role":{"allowedNames":["org.webosbrew.piccap.service","*","com.webos.service.capture.client*"],"exeName":"/media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/hyperion-webos","type":"regular"}}
[+] Refreshing services...
telling hub to reload setting and rescan all directories
root@LGwebOSTV:~#
Intresting, sounds like service is crashing due to autostart. Can you redo your steps to get a working PicCap again. After that don't activate autostart, more do another reboot and check if PicCap is running after this reboot without autostart If so we will have to check why it's crashing during autostart feature. A bit to explain: If service crashes it can't handle any new input actions, what would explain your loop, as it is never answered
Of course. Here are the steps:
- Deleted extra files and rebooted.
- Installed PicCap 0.4.2 from Homebrew. Didn't lunched it, just rebooted.
- Ran the commands from a console (same log) and rebooted.
- Opened PicCap, got the
status info refreshed
. - Changed the config, but this time I noticed an error when saving on the Advance tab: https://github.com/TBSniller/piccap/blob/2a45643ab12cebfd87f6642718f4442cd6d6ddc6/frontend/js/servicecalls.js#L255
- After restarting, got the loop.
I tried again but this time without changing any quirk. This time it seems to avoid the loop. Even activating the autostart works.
Does PicCap work for you without autostart feature? Is your capture working?
Yes, I need the quirks but at least it's capturing.
Alright, then it might be related to this: https://github.com/webosbrew/hyperion-webos/pull/99 Can you please try to disable QuickStart+?
I don't have it enable (I disabled it some time ago to test if that could help)
Small update, I changed the config to have "quirks":7
and got the loop back after a reboot. Reverting it to "quirks":0
and rebooting was enough to rollback.
If you are using wrong quirks, that aren't suitable for your TV you can expect crashes.
Can you please check logging, disable autostart and reboot your tv. after that:
Run luna-send -n 1 -f 'luna://com.webos.pmlogd/setdevlogstatus' '{"recordDevLogs":true}'
PmLogCtl set '*' debug
tail -F /var/log/messages | grep hyperion-webos
and then start piccap
Here you are: piccap_log.txt
I think you will have to enable QUIRK_DILE_VT_NO_FREEZE_CAPTURE. Can you enable, save and try again? Make sure you are saving while PicCap was working, as saving function calls hyperion-webos, which should not have crashed beforehand
I was able to enable the option, save and reboot just fine. Still need to start it manually.