Question how to use perfetto (or any equivalent known to mankind) offline ON ANDROID to READ a system trace - Google Pixel 6

so I have been searching everything I could think of on the internet trying to figure out how to read a system trace natively made by Android 13 on my Pixel 6 on the phone itself because I'm not with my computer and can't use it and it doesn't seem to be possible. now there's a web page application but it requires that you be connected to the internet and requires that your system traces be minuscule tiny or that you learn how to use an Android phone without a graphic user interface because I'm sorry My bad I'm not a programmer I don't really want to be and they want me to code something into my browser on my phone I don't even know how to do that just so that I can open a file as large as the trace I made I just want to figure out why my phone is doing something that it shouldn't be doing(several somethings actually randomly failing to allow internet connection to my Xbox beta app randomly shutting down screen recordings in the middle and booting my screen black and kicking me out of Android so that I have to log back in randomly running a work profile I didn't install the list goes on) so I can stop it from doing that please if anyone out there knows anyway at all on this Earth to open and read a file who's extension is perfetto-Trace without plugging into a computer just like you know on my phone I swear to God I'll do anything I'm begging you please help a ***** out cuz this girl is on her last ragged edged nerve over all this it's too much for one girl to figure out

perfetto is an open source tool provided by google. you can download the binaries they already provided for android. you can download your device specific binaries
Release Perfetto v35.0 · google/perfetto
v35.0 - 2023-06-07: Tracing service and probes: * Compression has been moved from perfetto_cmd to traced. Now compression is supported even with write_into_file. The `compress_from_cli`...
github.com
you need to install a terminal emulator , I suggest the Termux from fdroid.
then setup and initialize everything in Termux (I can't explain now, you can google it)
the from the extracted zip file of perfetto binaries, copy them to termux
``cp -r [directory path of the extracted] .``
``cd [directory name of the extracted] ``
The supported output formats are:
text - protobuf text format: a text based representation of protos
json - Chrome JSON format: the format used by chrome://tracing systrace: the ftrace text format used by Android systrace
Converting to systrace text format
./traceconv systrace [input proto file] [output systrace file]
example, systrace format are more human readable and easier
./traceconv systrace sample-trace.perfetto-trace sample-trace.systrace
Same way,
Converting to Chrome Tracing JSON format which is so familiar
./traceconv json [input proto file] [output json file]
is this way it will give a human readable output. now you can view output with a text editor
although reading a big file of 50-100MB May not be possible because of chunk issue. but Mostly it will show otherwise no hope. there's very limited tools out there
You can inbox me if you need assistance.
[Its my first answer on XDA]

Related

[Q] Angry Birds Rio encrypts settings/highscores with AES

Hey everyone,
i used to edit/backup my angry birds files. It worked fine with angry birds and angry birds seasons. But now with angry birds rio rovio encrypts the files with AES.
what i know so far from IDA pro:
for example GameLua::loadLuaFileToObject does
=> io::FileInputStream::read
=> lang::AESUtil::AESUtil(...)
=> lang::AESUtil::decrypt(...)
So,
are any IDA excperts here who might help me figuring out the arguments to that decrypt call( the AES key). Or do you have any ideas on how to figure out the AES key at all?
Greets, Goddchen
Goddchen said:
Hey everyone,
i used to edit/backup my angry birds files. It worked fine with angry birds and angry birds seasons. But now with angry birds rio rovio encrypts the files with AES.
what i know so far from IDA pro:
for example GameLua::loadLuaFileToObject does
=> io::FileInputStream::read
=> lang::AESUtil::AESUtil(...)
=> lang::AESUtil::decrypt(...)
So,
are any IDA excperts here who might help me figuring out the arguments to that decrypt call( the AES key). Or do you have any ideas on how to figure out the AES key at all?
Greets, Goddchen
Click to expand...
Click to collapse
I'm afraid you can't decrypt an AES key with a current PC, considering it would take some good millions of years to bruteforce.
Your best bet would be finding an exploit into how the game implements this encryption, I guess.
sorry you might have misunderstood me.
i don't want to crack the key, i simply want to extract it. it has to be stored in the file somewhere.
Ever tryed the old fashion way of searching addys maybe even reversing the whole game? Wait I'm a computer game hacker idk about adroid games lol sorry uhmm I'm sure you can reverse enough to find the file but then again could it possibly be stored outside of the game itself?
Sent from my Vision using XDA Premium App
yes that's exactly what i want to do. i have already found the file loading/saving function that use the AESUtil, but i can't figure out where the actual key is stored
Could you have a look at it if i send you the binary file?
Greets, Goddchen
Yeah send them all to me every one you can find and I will search away hopefully its not somthing stupidly named that throws me off...and why hack a game like this anyways?
Sent from my Vision using XDA Premium App
Also have you tryed opening it up with a hexeditor? I know I know billions of lines of useless numbers for what you want but there is a chance it will be labled in there somewhere
Sent from my Vision using XDA Premium App
Yes i did that, and also decompiled the whole thing with IDA pro. That's why i know it's AES, because the read / write function use the AESUtil functions. But i can't figure out the address where the key is located...
Have you searched for aes or key I know it might sound funny but time after time I've found addys that way and and I toatally forgot that you used ida I use that to decompile dlls and mem dumps for my hacking on games...but pm me the files (idk never tryed sending files on here before so I'm not sure if its possible here if not pm for my email)
Sent from my Vision using XDA Premium App
you already have a PM
All assets/*/*.lua files are encrypted using AES, CBC mode with empty initial vector and 256-bit key = 'USCaPQpA4TSNVxMI1v9SK9UC0yZuAnb2' (yes, ascii only). After decryption you will see 7z file with real *.lua file inside.
Example in Python:
Code:
from Crypto.Cipher import AES
AES.new('USCaPQpA4TSNVxMI1v9SK9UC0yZuAnb2', AES.MODE_CBC, '').decrypt(open('MainMenuPage.lua', 'r').read())
You should see a string starting with "7z" and after saving it to a file you should be able to open it using any 7z archiver.
Still I don't know about highscores.lua and settings.lua - these files are different. I'm afraid they aren't 7z files, so even if I'll decrypt them successfully, I'll just get some unknown binary files.
wow i'm impressed! where did you get the key from?
Hm, when trying to decrypt the highscores.lua or settings.lua i keep getting
"java.io.IOException: last block incomplete in decryption".
Do you have any experience with Java AES encryption?
I've played with this a little.
The provided key does decrypts other LUAs, but not the highscores...
They either used another key or messed up something after applying encryption.
The error is javax.crypto.BadPaddingException: Given final block not properly padded
Again, I was able to decrypt level LUAs to plain 7z.
BTW: The highscores.lua is a plain text if decrypted correctly.
yes it should be plain lua files. This is the case for Angry Birds and Angry Birds Seasons, just RIO is encrypted
Can you please explain how to got your hands on the key you mentioned? Maybe this help me track down the key used to encrypt the highscores/settings.
Greets, Goddchen
still no progress
i also had a look at a hprof heap dump but counldn't find anything that looks like a 256 bit aes key...
Any more ideas?
highscores.lua and settings.lua are encrypted with AES, CBC mode, PKCS7 padding and key = '44iUY5aTrlaYoet9lapRlaK1Ehlec5i0'.
In my next post I will describe how I got these keys
Man! This is totally awesome! You're my hero!
Well... I have attached a debugger to native code, set breakpoints, analyzed registers, memory, etc. It wasn't that easy though. It took me several days to start debugging and get first key, but I got second one in about 1 hour.
Actually I don't really need that key, I can't even play Angry Birds Rio on my old G1, but it was challenging and I love challenges ;-) Plus I have learnt a LOT about gdb, assembler, ARM architecture, etc.
So I want to thank you, Goddchen, for giving me an opportunity to learn & play
Ok, let's move on...
First, I have disassembled libangrybirds.so using IDA Pro 5.5 . I was able to examine code and attach IDA to gdbserver on a device, but unfortunately it wasn't working properly. IDA was thinking that libangrybirds.so is a main binary of a process it attached to, but it should look into loaded shared libs instead. Weird, but I didn't find a way to attach it properly. And this is pity, because IDA is a great tool and it would make debugging a pleasure, but I had to use gdb instead.
Second, Android has problems with debugging multi-threaded native code. MT support was added in NDK r5 and because of some bug it's not possible on a system older than Gingerbread.
Third, you could attach gdb manually, but ndk-gdb script does great work for you. You will have to do some tricks to use it with 3rd party app though.
Fourth, it seems libangrybirds.so is a Java code compiled to native or something like that. There are objects like FileInputStream, ByteOutputStream, etc., but there are also some API differencies. We'll see String and Array<uchar> objects, but it's usually easy to find a pointer to simple uchar[].
Steps to start native code debugging:
Upgrade to Gingerbread (Yeah, I had to do that. Hacking requires you to sacrifice yourself a bit ;-) ). Or you could use an emulator.
Install NDK >= r5 .
Decode Angry Birds Rio using apktool. You could just unzip it, but decoded app is much more similiar to original sources, so it's more compatible with NDK. For example ndk-gdb reads AndroidManifest.xml to get package name. Of course you could fake simple AndroidManifest.xml and other files if you want.
Rename lib dir to libs.
Fake jni/Android.mk file. I have copied one from hello-jni sample and didn't even bother to modify module name: http://pastebin.com/HMBXt5cm .
Copy libs/armeabi*/libangrybirds.so to obj/local/armeabi*/ . Normally this is done by ndk-build command.
Fake libs/armeabi*/gdb.setup file. It should be something like: http://pastebin.com/BYm13RKz , but second line isn't that important.
Angry Birds Rio apk contains old gdbserver and you need one from NDK r5. Grab ${NDK_ROOT}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/gdbserver and push it to /data/data/com.rovio.angrybirdsrio/lib .
Ufff... you could now try to run: ndk-gdb --verbose --launch=com.rovio.ka3d.App .
After few seconds you should see "(gdb)" prompt and game should be paused on the device.
Run 'info shared' and check if libangrybirds.so is loaded. If not then something is wrong.
Ok, let's find a key for levels lua files:
Set a breakpoint for GameLua::loadLevel() - find this method in IDA Pro and copy its EXPORT name:
Code:
(gdb) br _ZN7GameLua9loadLevelEN4lang6StringE
Breakpoint 1 at 0x80468e4c
Resume game and open some level. You should hit a breakpoint:
Code:
(gdb) c
Continuing.
[New Thread 5857]
[Switching to Thread 5857]
Breakpoint 1, 0x80468e4c in GameLua::loadLevel () from /home/brutall/t-angrybirds/com.rovio.angrybirdsrio-1/obj/local/armeabi/libangrybirds.so
Look into IDA and note there are 2 lang::String objects passed as first arguments to method, so pointers are in R1 and R2 registers. We need to examine these objects and find pointers to raw char[]. Fortunately lang::String is very simple wrapper around char[], so pointer is first (and only one, I think) member of String:
Code:
(gdb) x/4x $r1
0x4395e66c: 0x00a405f0 0x00153b28 0x804ec778 0x00000000
(gdb) x/s 0x00a405f0
0xa405f0: "levels/warehouse/Level190"
Yey, finally we see something
Let's move to lang::AESUtil::decrypt() method. It's named _ZN4lang7AESUtil7decryptERKNS_5ArrayIhEES4_RS2_, so:
Code:
(gdb) advance _ZN4lang7AESUtil7decryptERKNS_5ArrayIhEES4_RS2_
0x80539894 in lang::AESUtil::decrypt () from /home/brutall/t-angrybirds/com.rovio.angrybirdsrio-1/obj/local/armeabi/libangrybirds.so
As you can see decrypt() gets 3 Array<uchar> objects and 2 of them are const. It's quite easy to guess they're: key, encrypted data and container for decrypted data. Let's check this:
Code:
(gdb) x/4x $r1
0x1592b0: 0x00159528 0x00000020 0x00000020 0x7b206e65
0x00000020 = 32 - yes, length of AES key First 4 bytes of an Array object is a pointer to raw char[] and second 4 bytes contain length of an array. Now we could read contents of an Array:
Code:
(gdb) x/s 0x00159528
0x159528: "USCaPQpA4TSNVxMI1v9SK9UC0yZuAnb2a"
As you can see there are 33 chars instead of 32. This is because Array stores its length, so char[] isn't null-terminated. Ignore last "a" char.
We could also look into second const Array to be sure that encoded string is exactly the same as contents of lua file:
Code:
(gdb) x/4x $r2
0x4395d6f4: 0x009ca248 0x000004a0 0x000004a0 0x00000378
(gdb) x/4x 0x009ca248
0x9ca248: 0x3347b5dc 0x26048446 0x1a0c1231 0x35d3f99c
First 16 bytes are the same, length of data is also ok.
As you can see there is AES::BlockMode passed to AES:ecrypt(). It would be quite hard to interpret it without headers, so I was trying various block modes and I found that CBC with empty initial vector decodes to string starting with '7z'. For me that meant: mission successfull
Ok, highscores.lua and settings.lua files now. Technique is very similar, but there are some differences:
Different keys.
They aren't loaded using GameLua::loadLevel(), but GameLua::loadPersistentFile(). You could find this very easily, searching for "highscores.lua" in IDA.
If you examine GameLua::loadPersistentFile() method you will see it doesn't load files using FileInputStream, but io::AppDataInputStream, so we have to be sure, what exactly is being decrypted.
Annoying thing is that gdb can't catch highscores/settings loading, because they're loaded too soon - before gdb attach itself.
Maybe there is a better solution to last problem, but I've decided to add some Thread.sleep() call just after System.loadLibrary(), so gdb will attach before highscores.lua loading.
Open smali/com/rovio/ka3d/App.smali, and add 2 lines of code just after loadLibrary() call in onCreate() method:
Code:
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
const-wide/16 v0, 5000
invoke-static {v0, v1}, Ljava/lang/Thread;->sleep(J)V
Run ndk-gdb --verbose --launch=com.rovio.ka3d.App .
Set a breakpoint for GameLua::loadPersistentFile() method and check which file is being loaded:
Code:
(gdb) br _ZN7GameLua18loadPersistentFileERKN4lang6StringE
Breakpoint 1 at 0x80457030
(gdb) c
Continuing.
[New Thread 6735]
[Switching to Thread 6735]
Breakpoint 1, 0x80457030 in GameLua::loadPersistentFile () from /home/brutall/t-angrybirds/com.rovio.angrybirdsrio-1/obj/local/armeabi/libangrybirds.so
(gdb) x/s $r2
0x4395e3b8: "highscores.lua"
I'm not sure why it's R2, not R1 and why there is no lang::String, but char[] directly. I think this isn't a pointer to String, but String itself, passed to method in registers, so its char[] is in R2.
Now advance to lang::AESUtil::decrypt() method and read key as usual:
Code:
(gdb) advance _ZN4lang7AESUtil7decryptERKNS_5ArrayIhEES4_RS2_
0x80539894 in lang::AESUtil::decrypt () from /home/brutall/t-angrybirds/com.rovio.angrybirdsrio-1/obj/local/armeabi/libangrybirds.so
(gdb) x/4x $r1
0x159294: 0x00159620 0x00000020 0x00000020 0x00159518
(gdb) x/s 0x00159620
0x159620: "44iUY5aTrlaYoet9lapRlaK1Ehlec5i0"
Because of that AppDataInputStream object, we need to check if encrypted data is the same as file contents. Pull highscores.lua file from a device and run:
Code:
(gdb) x/4x $r2
0x4395ddc4: 0x0015bc00 0x00000040 0x00000040 0x00000001
(gdb) x/16x 0x0015bc00
0x15bc00: 0x2271b777 0xe6f19f4c 0x2489a316 0xfae1aee2
0x15bc10: 0x82e0ef38 0xe84fc25d 0xb196adac 0xbf030439
0x15bc20: 0xb6b9bade 0x3046af12 0xe8eeeb0d 0x20e8037c
0x15bc30: 0x1a405edf 0xc218f7f6 0xc29209e2 0x9ad03e8c
Yeah, this is my highscores.lua file.
Same for settings.lua file to check if it's encrypted with the same key. It is.
After decrypting these files we'll see some weird chars at the end of decoded data. Few seconds on the Wikipedia and we'll know this is just PKCS7 padding scheme.
Now we have got everything we want
Ahh, not exactly everything... I would be really happy to know, how to properly attach IDA for debugging - it would be much easier, even if gdb interface is also very good.
wow thank you so much for that detailed description. I'll give a try in the next days to see if i can reproduce the whole thing on my own I'm really impressed

The HP Touchpad Sticky Master Thread

This is some of the info that I have put together and I figured it may help some of you also. Let me know if I need to add anything. Looking forward to working with this device. Hopefully the Devs will take an interest in it also. With these hardware specs I feel like they will. Anyway, carry on............
Dev/Config/Soft/Tools
CyanogenMod team Touchpad port
HP Site
SDK - Multiple Platforms Instructions
Command line tools
Java - WIndows 32 and 64 Bit Instructions
****Note - Be sure to add the Java Bin path to your Environment Variables PATH
Java - Linux
Bluetooth with Non-WebOS device
Enabling Developer Mode (Rooting)
How To: Connect TP to network shares​HW
Exploded and PCB
Quick sum up/start up guide Thanks KameoRE
Bill of Materials
Specs 16GB
Specs 32 GB
Repair Manual / Teardown
Comparisons​
Extra info
Enabling Developer Mode (Rooting)
In general, simply installing the Palm SDK gives you everything you need for full access to the Linux operating system on any webOS device. There is no special "rooting" or "jailbreaking" process. Simply installing the SDK provides you with unlimited access to the Linux operating system.
Download & install the Palm SDK for Linux, OS X or Windows.
Enable developer mode on the HP Touchpad:
Launch Device Info and tap its top-left menu.
Select "Custom Application..." and type in: ##3386633#
In the application, move the Developer Mode slider to the On position.
Tap Reset the Device.
When reset is complete, Developer mode is enabled.
Plug the device into the computer via the USB cable, and just close out the USB storage mode thing.
The next step varies:
Mac OS X / Linux: Type novaterm into terminal to directly access the Linux command line for the HP Touchpad.
Windows: you will need to download and install a novaterm program.
On Windows 32-bit, download novacom-win-32.tgz and install novacom with NovacomInstaller_x86.msi.
On Windows 64-bit, download novacom-win-64.tgz and install novacom with NovacomInstaller_x64.msi.
Then, just like the Mac and Linux users you can just type novaterm.
At this point you will have a window with a prompt that says [email protected]: or something similar.
You are now logged in as root on your webOS device and can do anything you would normally do on a Linux device.
DISCLAIMER: We cannot be held liable for any loss of data, damage, bricking, or other malfunctions of the device. We solely provide the information needed to achieve root access.
This quick sum up/start up guide might come handy:
http://forums.precentral.net/hp-touchpad/293028-new-touchpad-heres-your-get-started-guide.html
[Q] What is wrong with my touchpad?
RESET: Hold Power Button & Home Button until the tablet resets.
Doing the above solved the below issue.
My touchpad won't turn on I used it until it had about 30 % battery last night, but didn't put it to charge. When I woke up this morning, it was at 28% battery. I used it to check facebook and xda, locked it and put it down to watch the price is right but when I went to use it again, none of the buttons unlocked it. I plugged it into mulitple outlets and held the power button for about 30 seconds each time, but nothing is happening I don't know what to do. Can anybody help?
Click to expand...
Click to collapse
solution #2
this happened twice:
plug it in to pc
open webos quick install
tools - command line
type "reboot" and hit enter
Bill of Materials
$318 Bill of Materials
Comparisons
Comparisons
Exploded and PCB
Exploded and PCB
First non-webOS phone to be fully tetherd with HP TouchPad
First non-webOS phone to be fully tetherd with HP TouchPad
Worked for me, I had to fool with it a couple of times to get it to work. My screenshot is attached
The messaging does not work but the phone calls do.
How To: Connect TP to network shares
How To: Connect TP to network shares
spud101
Member
Join Date: Jun 2004
Location: Netherlands
Posts: 574
Likes: 34
Thanks: 43
Thanked 69 Times in 34 Posts
Updated (Sep 7th 2011):
Rewritten to include a method for stock kernel, make shares usable for KalemSoft Media Player & automount at (re)boot. Thx to everybody who contributed to this thread! (Under construction, finished later)
Updated (Aug 9th 2011): processed some comments from this thread and the fact that uberkernel now also supports CIFS (& NFS).
Prerequisites:
- HP Touchpad, webOS 3.0.2 or later.
- One of the following Kernels:
---- Stock kernel
---- Uberkernel 3.0.2-52 or later (Next to support for CIFS & NFS this kernel also supports UTF-8. More info here: WebOS Internals Uber-Kernel
---- F15C,.. (completed later)
- Terminal access to your TP, either via webOS Quick Install or Xecutah + Xserver + Xterm (install from preware)
- Internalz Pro with show hidden files set to yes
Three parts:
This guide has three parts:
Basic Mounting
Mounting with shares visible in apps like Kalemsoft Media Player
"Sticky" mounting: Auto mount at (re)boot
Definitions:
hostIP = IP address of the computer or NAS you want to connect to. You can use hostnames too, but need to also edit /etc/hosts then.
sharename = The share name you want to connect to as configured on your computer/NAS
mountpoint-path = as discussed above, e.g. /mnt/nas
cifs = type of filesystem to mount (cifs is better version of smbfs, I've been told)
auto (or can also be noauto) auto/noauto determines if the share is mounted automatically at startup.
username & password = share login credentials. There are probably safer ways to do this instead of having this plain text on your device, anyone can tell me how to do that?
rw = access mode, in this case read & write, other possibilities exist too
The numbers have someting to do with filesystem check at boot.
1a: Basic Mounting (without fstab)
- Create a mountpoint, a path where the share will be accessible, e.g. /mnt/nas or /mnt/media/internal/nas I used Internalz Pro in master mode for this.
- In a terminal type:
mount.cifs //<hostIP>/<sharename> <mountpoint-path> -o username=<username>,password=<password>
Example: mount.cifs //10.0.1.26/DataVolume /mnt/Shared -o username=foo,password=bar
1b: Basic Mounting (with fstab, not supported by stock kernel)
To be finished later
2: Mounting with shares visible in apps like Kalemsoft Media Player
To be finished later
For now please refer to:
Road to Success - How to allow NAS to show up under /media/internal on Touchpad Apps?
How To: Connect TP to network shares
How To: Connect TP to network shares
3: "Sticky" mounting: Auto mount at (re)boot
To be finished later
For now please refer to:
Road to Success - Mounting SAMBA/CIFS Permanently on Touchpad
-------------------------------
Original post:
In short: The stock kernel on a webOS 3.0.2 Touchpad does not support CIFS. Or at least I didn't get it to work just the same way I do get it to work out of the box on a 1.4.5 Pre-.
Then I saw this thread: F15B & F15C test kernels
It says CIFS support! So I hesitantly installed this experimental F15C kernel, quickly ran Govnah to set max speed to 1.5 GHz (I don't want no real overclocking beyond this speed). But, YES, it does work, I now can access my NAS!
After I initially posted this thread webosinternals also added support for CIFS (& NFS) to the uberkernel (as of version 3.0.2-36). Thanks a lot for that guys!!
So how to go about:
- Install the F15C kernel from the testing kernel feed
The rest is standard linux stuff for mounting Samba shares:
- Create a mountpoint, a path where the share will be accessible, e.g. /mnt/nas or /mnt/media/internal/nas I used Internalz Pro in master mode for this.
- Open /etc/fstab again you can use Internalz Pro in master mode for this
Add a line:
//<hostIP>/<sharename> <mountpoint-path> cifs auto,username=<username>,password=<password>,rw 0 0
hostIP = IP address of the computer or NAS you want to connect to. You can use hostnames too, but need to also edit /etc/hosts then.
sharename = The share name you want to connect to as configured on your computer/NAS
mountpoint-path = as discussed above, e.g. /mnt/nas
cifs = type of filesystem to mount (cifs is better version of smbfs, I've been told)
auto (or can also be noauto) auto/noauto determines if the share is mounted automatically at startup.
username & password = share login credentials. There are probably safer ways to do this instead of having this plain text on your device, anyone can tell me how to do that?
rw = access mode, in this case read & write, other possibilities exist too
The numbers have someting to do with filesystem check at boot.
- Save the file
- Open a terminal
- type in this command:
mount -t cifs //<hostIP>/<sharename> <mountpoint-path> -o username=<username>,password=<password>
No idea whether all the -o options are still needed, as they are in the fstab line already as well.
Apparently mount -a should also mount your shares inside fstab. But for me that didn't work, maybe because I have it set to noauto.
This should do it.
Unmounting as follows:
umount <mountpoint-path> e.g. umount /mnt/nas
Note: as soon as you have a kernel running that supports CIFS, you can also use the xt tools. See this thread and the threads referenced inside it. samba filesharing - install/support thread
The xt tools will take over all the fstab editing and directory creation.
I agree this is still cumbersome. On an Android phone for example this is buildin in every decent filemanager. So I really, really hope that either or both Gemini and Internals HD will have some easy solution for this (both configuring and the actual mounting/unmounting). Or a solution straight from HP, this is also aimed at enterprise market after all!
Last edited by spud101; 09/08/2011 at 07:41 PM.
Thanked by 60milesmile, cookie_42, El_Titi, flyers333, ichi2k, Major Payne, mivoligo, Nightburn, obarthelemy, PF Graham, phil71, pre101, RickNeff, runner77, sf3000, sjp770, sps_2k1, tabaloos, teng_lin, thomaz, timjhenry, tlaswell​
Weird shortcut to USB mode
Has anybody else seen this?
While connected to PC in "just charging" mode I reached out and accidentally hit the Volume Down and Power buttons at the same time. The TouchPad instantly switched to USB Storage mode.
Interesting behavior and I couldn't seem to find any mention of it anywhere.
PreCentral had it as a tip on their web site about a week ago and I spotted it there - http://www.precentral.net/access-usb-mode-touchpad.
Quite a few other useful titbits crop up on there - it is worth following. I use the webOS News app from the App Catalog. That gives heads-up on the free software codes as well.
dmarchant said:
PreCentral had it as a tip on their web site about a week ago and I spotted it there - http://www.precentral.net/access-usb-mode-touchpad.
Quite a few other useful titbits crop up on there - it is worth following. I use the webOS News app from the App Catalog. That gives heads-up on the free software codes as well.
Click to expand...
Click to collapse
LOL, I think you mean "TIDBITS."
Too bad there is no reverse version of this.

[Spreadsheet]Source Finder (find locations of sources with binary name)

SOURCE FINDER EXCEL SPREADSHEET​
I've been making this table that is specially created for ROM Developers, at first I was doing it for my own knowledge in the rom structure, but why not share? It's not even 50% done (only app/framework so far) but it's worth sharing I think. I will continue to fill in the empty spaces along my building experiences. applying content (more info for table) is greatly appreciated as we all benefit from this table.
Typical scenario where this comes handy: (over dramatized in favor of this spreadsheet)
You're trying to port a rom to your phone, (from source) and you keep getting errors, of course you have logcat as your pet, but still you cannot figure out where to search for that specific thing that keeps crashing, and not to mention in ALL THOSE FOLDER AND FILES (a compiled repo takes upto a [/B]half million[/b] files), of course your developer instincts tell you to do a recursive search but you will find the same folder 20 times, then you think of a recursive grep, but also that returns a ****load of useless info (all links). then you sigh... and take the excel spreadsheet, you lookup the file and browse directly to the right folder, including you know what dependencies it has, so backtracing is easily possible. from here it's smooth sailin' :silly::silly::silly:
Idea's for the "future":
- expand table with binaries from /system/bin, and possibly more folders (after completing libraries)
- make shell script that jumps to the source dir by entering the module/apk/jar name (for example "go services.jar" should jump to frameworks/base/services)
- using "clean services.jar" would delete services_intermediates and it's dependency intermediates. (implemented qc into envsetup.sh, a quick rm -Rf of the chosen intermediates, about 100 times as fast as 'make clean-services for example)
https://github.com/AOSP-S4/android_build/commit/e97fbf5b6c0d52f4b6bbd079659f13ea8c64a22a
Although not very likely, this spreadsheet may contain references that do not apply for your current situation.
Spreadsheet:
https://docs.google.com/spreadsheet/ccc?key=0ArQAWzFXVt6vdGI3anlpNFVTdWtJalUxX2NNTDl5dHc&usp=sharing
PDF is attached

[Updated: JUN 15] Easier XMir Setup (Now with Libertine!)

EDIT: I bring you the new OFFICIAL way of installing X11 applications, I've been neglecting this thread way too much and need to give it some love.
The old instructions (OLD METHOD) are no longer needed as of April on the rc and rc-proposed channels, this should work on all channels however (tested up to latest devel-proposed image)
NOTE: You still need a writable image for the first parts of this, after you install the tools, it can go back to read-only.
1) Open Terminal
2) Install the following packages: libertine libertine-tools python3-libertine-chroot
3) Open the Ubuntu Store and install the scope: libertine-scope
4) Open the Libertine application that's now available in your launcher and follow instructions, it will set up a Ubuntu Vivid chroot in your home directory, install the components needed, and drop you at the package management screen. From here, you can update and add PPAs to the container via the Settings Icon -> Manage Container, Install packages via the plus icon, etc.
5) Favorite the Libertine XApps scope by swiping up on the home screen and hitting the star, then open the scope and you'll see any applications you installed there.
If you cannot install your container via the Libertine application (I know that it didn't have support for chroot until recently, not sure if that version has landed yet), you can install your container via the teminal, so open your terminal but DO NOT sudo su. All Libertine-container-manager commands MUST be done as phablet.
To create a container (this line will likely change when Xenial drops as Libertine will be switching to LXC on Xenial):
Code:
libertine-container-manager --create -i <container id> -n <friendly name (this shows up in the Libertine app)> -t chroot
Using this command, the system will build the new libertine container, wait until it's finished and then you can continue by using the installed Libertine application.
Onscreen Keyboard in Libertine Applications
THIS CAN FINALLY BE DONE! The only con to it, is that it is mostly unusable in applications that open dialog boxes along the bottom of the screen, the XMir window does not scroll up like native applications do to give a better viewing window. (I have been told that this will change in OTA-12 when the keyboard support drops for Libertine/Puritine apps)
To install on-screen keyboard:
Open Libertine and add ppa:brandontschaefer/maliit to your container. Then hit update in Manage Containers. Once done, install the following, maliit-inputcontext-gtk2, maliit-inputcontext-gtk3, maliit-framework. After that, setup is complete in your container, now we need to do some extra work outside the container to make it pass the GTK_IM_MODULE variable we need over to Libertine. To do this, add this line to your .bashrc or if you have a writable image, you can add this to the systemwide profile (not sure if this will be replaced on OTA though):
Code:
export GTK_IM_MODULE=maliitphablet
Restart the tablet OS, Open an application such as Libreoffice Writer and BEHOLD!
Notes
You can also manage your container via the terminal with libertine-container-manager. To get a root shell without installing mate terminal (You can't get a root shell via this method (installing a term), Proot acts like fakeroot all over your container's rootfs), you can use the following:
- l-c-m exec -c bash (This command does not mount any user directories (/home/phablet will not exist) and is best used for making changes to the container's rootfs)
or if you only need a user shell:
- DISPLAY= libertine-launch <containerid (default is vivid)> bash (This mounts user directories, but is no different than if you installed something like mate-terminal and ran it. The reason we are passing an empty DISPLAY variable is because libertine-launch will refuse to start if DISPLAY isn't set, even it if doesn't exist.)
- DPI Hacks: To change the DPI of applications in Libertine, you need a new way to make the .Xdefaults file as only the XDG User directories get mounted inside the libertine container, not your entire Home. To do this, install your favorite editor inside of the libertine container (I find nano to be the easiest for new users), and open Terminal, then follow these instructions:
1) Open your editor to ~/.local/share/libertine-container/user-data/[my container id, default = vivid]/.Xdefaults and fill it with the following:
Code:
Xft.dpi: 175
or what your preferred DPI is. On the Nexus 7 flo the comfortable DPI is 175 with an application font size of 14 (I use Liberation Sans which comes from Libreoffice).
- You can make your applications look great still, you don't have to be stuck with the default Raleigh GTK style. Download and install LXAppearance in your container and add ppa:noobslab/themes then start installing themes. Enjoy! The Ubuntu Touch Themes are wonderful and FlatPlat works well with the system UI as well.
Some cons to this:
- It requires at least 3GBs available in your internal storage (wherever your home folder resides) to store a full, non-touch Ubuntu Vivid container.
Pros:
- It survives OTAs, the only thing able to break this would be a change to XMir, PRoot, or Libertine. Which is landing in the images shortly by default so there's not much of a chance to break this.
- Nothing you do will break your UTouch system. Unlike the old method, this only installs the items needed to run the container, which are to become standard inside the images very soon.
OLD METHOD
--------------------
EDIT: I have not tested this in stable, rc, rc-proposed yet. Only the dev-proposed channel.
So there is some questioning I see going on about how to run things like Firefox efficiently and well. So I figured I'd write up a little something for it.
First you'll want to set your DPI in ~/.Xdefaults, as I have a Nexus 7, mine looks similar to this:
Xft.dpi: 240
Note that you may need to do some additional tweaking.
Now that you have Xdefaults made, install the ubuntu-pocket-desktop and matchbox-window-manager packages (along with the program you wish to use, for this tutorial, I'll use libreoffice).
Create a file in /bin called wm-wrapper.sh (or whatever you choose here, just remember the name), fill it with:
Code:
#!/bin/bash
matchbox-window-manager -use_titlebar no -use_dialog_mode const-horiz &
exec [email protected]
and save it, then chmod a+x it.
EDIT: For this next part, I recommend copying the .desktop to ~/.local/share/applications to avoid them being overwritten on package updates.
Now, navigate to /usr/share/applications/ and open the .desktop file for the application you are wanting to run. Add the following lines under [Desktop]:
Code:
X-Ubuntu-Touch=true
X-Ubuntu-XMir-Enable=true
Change the Exec line so that your wrapper (in my case wm-wrapper.sh) is in front of the executable, such that the line becomes (or similar):
Code:
Exec=/bin/wm-wrapper.sh libreoffice %U
Save it, then search for your application in the Unity Scopes. Open it up and you should see your application running as an XMir app easy. For future applications, you will simply need to do the changes to it's .desktop file.
EDIT: A helpful redditor gave me this tip to enable sending touch events over to Xmir. Setting the GTK_TEST_TOUCHSCREEN environment variable to 1 will apparently remove hover events and the like (events that are not normally sent with a touch screen, but with a mouse). I have not had time to take a look at this yet however so YMMV.
Thanks man, gonna try this on my n4 later today. ?
thumbzzzz said:
Thanks man, gonna try this on my n4 later today.
Click to expand...
Click to collapse
No problem, Like I said, not sure if it works on other channels, but it works great on the dev-proposed channel. You will also want to close applications using their menu items as closing the Xmir root window will cause the application to terminate without asking to save anything. Libreoffice can get around this via Document Recovery though.
I had been working on this for a good solid week testing applications and different ways to get X11 applications working so I could make it a full workstation, so I figured why not post my findings since the Ubuntu forum doesn't seem to get much love.
Thanks for the matchbox tip! It works quite nicely, especially, it brings a nice onscreen keyboard with it. I use the following setup now:
~/.local/share/applications/gedit-mb.desktop
Code:
[Desktop Entry]
Name=GEdit in Matchbox
Type=Application
Terminal=false
Icon=/usr/share/gedit/logo/gedit-logo.png
X-Ubuntu-Touch=true
#X-Ubuntu-XMir-Enable=true
Exec=/home/phablet/bin/matchbox-wrapper.sh gedit
~/bin/matchbox-wrapper.sh
Code:
#!/bin/bash
export DISPLAY=:1
Xmir $DISPLAY &
sleep 1
# xlogo
# xeyes
# x11vnc -forever -nopw -quiet -display $DISPLAY &
matchbox-window-manager &
sleep 1
matchbox-keyboard &
[email protected]
~/.matchbox/kbdconfig
Code:
# http://unix.stackexchange.com/questions/223110/what-are-the-keyboard-shortcuts-for-matchbox-window-manager
<ctrl><alt>p=prev
<ctrl><alt>n=next
<ctrl><alt>d=!matchbox-desktop
<ctrl><alt>x=!xterm
<ctrl><alt>f=!firefox
Together with the Xft.dpi setting (I use 220) this gives me a quite usable editor. If you have any other tips ShadowEO, I'd love to hear them!
One thing I'd like to figure out is how to modify the DPI for the Mir GDK Backend. Currently GTK3 applications started with the backend are way to small.
ShadowEO said:
One thing I'd like to figure out is how to modify the DPI for the Mir GDK Backend. Currently GTK3 applications started with the backend are way to small.
Click to expand...
Click to collapse
Do you have a specific example? Which application are you looking at?
doniks said:
Do you have a specific example? Which application are you looking at?
Click to expand...
Click to collapse
Sorry, for some reason I wasn't subscribed to this post (weird.)
Anyway the specific application I was looking at was gedit, when started with the native GDK Mir backend, it is almost unusable with touch as the elements are so small. GDK_SCALE doesn't work and neither does any of the GTK dconf settings for scaling.
Also, I have switched to using rc-proposed, so any more changes I do will likely be able to be installed without worrying about the snapshot channel.
Also messing with some touch-screen specific .gtk2.0-rc entries seem to help, but since I reformatted, I don't quite have those offhand at the moment. I'll have to look them up again.
Hi!
Thanks a lot for all these useful explanations! Finally I was able to run Firefox on my bq E4.5 (rc-proposed)! But I have a few questions:
1) I don't have any on-screen keyboard
2) it works like with a mouse (no touch scrolling for instance)
Is there something I can do about that?
takri said:
Hi!
Thanks a lot for all these useful explanations! Finally I was able to run Firefox on my bq E4.5 (rc-proposed)! But I have a few questions:
1) I don't have any on-screen keyboard
2) it works like with a mouse (no touch scrolling for instance)
Is there something I can do about that?
Click to expand...
Click to collapse
You could try the touchegg package for multi touch gestures, I haven't gotten around to testing it yet. As for keyboard, you can use onboard for most applications or if the application is a QT application, it will pop up the system keyboard (behavior was exhibited by calibre)
ShadowEO said:
You could try the touchegg package for multi touch gestures, I haven't gotten around to testing it yet. As for keyboard, you can use onboard for most applications or if the application is a QT application, it will pop up the system keyboard (behavior was exhibited by calibre)
Click to expand...
Click to collapse
Thanks a lot for your answer. Sorry I don't know much yet about all this so my questions might be silly!
1) I installed touchegg but I don't know how to make it work
2) I have no keyboard in any app I installed (caja, gedit, firefox, ...)
Another question: I have a bq E4.5 and although I have 3.5G of free space on my internal memory the space available for apt-get-ed apps is much smaller (I have 50M left after installing just those few apps above). So no way to try libreoffice or other heavier app. Do you know if there is a solution for that?
Thank you very much!
takri said:
2) I have no keyboard in any app I installed (caja, gedit, firefox, ...)
Click to expand...
Click to collapse
If you use the matchbox setup I described above then you should have a keyboard.
Another question: I have a bq E4.5 and although I have 3.5G of free space on my internal memory the space available for apt-get-ed apps is much smaller (I have 50M left after installing just those few apps above). So no way to try libreoffice or other heavier app. Do you know if there is a solution for that?
Click to expand...
Click to collapse
This website describes a tweak to put the apt cache on an external SD card. It's in German, but the command lines should be clear enough. Let us know how it goes.
https://wiki.ubuntuusers.de/Ubuntu_Touch/Terminal/#Freien-Speicher-beobachten
You would need to run touchegg in the wrapper. Sadly wth keyboard, the only applications that will get the system keyboard are QT based applications. GTK+ and other applications will require onboard to be installed. I messed around with trying to install maliit-context-gtk2 to get the system keyboard to show in all apps, but that broke the keyboard completely.
Remember XMir is better used with a physical keyboard since it doesn't trigger the Ubuntu keyboard for everything.
You can also make the system img bigger if using MultiROM: you simply run e2fsck -fp /path/to/Ubuntu.IMG and resize2fs <target size> /path/to/Ubuntu.IMG.
ShadowEO said:
You would need to run touchegg in the wrapper.
Click to expand...
Click to collapse
I've played around with this a bit, but I can't get touchegg to work. I start an xmir application, then log in via ssh from my desktop. After setting the DISPLAY variable, I can start more X applications ok. After starting touchegg I see an output like this:
Code:
Reading config from "/home/phablet/.config/touchegg/touchegg.conf"
Try to make a multitouch gesture. If everything goes well the information about the gesture must appear
[+] Avaliable gesture:
Name -> Flick
[+] Avaliable gesture:
Name -> Drag
[+] Avaliable gesture:
Name -> Pinch
[+] Avaliable gesture:
Name -> Rotate
[+] Avaliable gesture:
Name -> Tap
[+] Avaliable gesture:
Name -> Touch
I assume that I am supposed to see some more output when a touch gesture is recognised by touchegg, but nothing ever shows up.
I can see touch events with either xinput or evtest
Code:
$ xinput test "xmir-fake-touch-pointer:0"
motion a[0]=36317 a[1]=42290
button press 1
motion a[0]=36590 a[1]=41730
motion a[0]=36645 a[1]=41275
motion a[0]=36536 a[1]=40469
motion a[0]=36263 a[1]=39524
motion a[0]=35935 a[1]=39034
motion a[0]=34897 a[1]=38019
motion a[0]=33532 a[1]=36934
motion a[0]=32713 a[1]=36303
motion a[0]=31839 a[1]=35778
motion a[0]=31293 a[1]=35533
motion a[0]=30856 a[1]=35323
motion a[0]=30638 a[1]=35253
motion a[0]=30419 a[1]=35148
motion a[0]=30255 a[1]=35078
motion a[0]=29928 a[1]=34903
motion a[0]=29873 a[1]=34868
motion a[0]=29873 a[1]=34868
motion a[0]=29873 a[1]=34868
button release 1
Code:
$ evtest /dev/input/event0
Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "elan-touchscreen"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event type 3 (EV_ABS)
Event code 47 (ABS_MT_SLOT)
Value 0
Min 0
Max 9
Event code 48 (ABS_MT_TOUCH_MAJOR)
Value 0
Min 0
Max 31
Event code 53 (ABS_MT_POSITION_X)
Value 0
Min 0
Max 1343
Event code 54 (ABS_MT_POSITION_Y)
Value 0
Min 0
Max 2239
Event code 57 (ABS_MT_TRACKING_ID)
Value 0
Min 0
Max 65535
Event code 58 (ABS_MT_PRESSURE)
Value 0
Min 0
Max 255
Properties:
Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
Event: time 9936.473027, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1159
Event: time 9936.473088, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 12
Event: time 9936.473088, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 27
Event: time 9936.473118, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 338
Event: time 9936.473118, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1059
Event: time 9936.473149, -------------- SYN_REPORT ------------
Event: time 9936.509709, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 11
Event: time 9936.509709, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 43
Event: time 9936.509709, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 351
Event: time 9936.509739, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1061
Event: time 9936.509739, -------------- SYN_REPORT ------------
Event: time 9936.512791, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 46
Event: time 9936.512791, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 357
Event: time 9936.512791, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1063
Some websites point to synclient for the configuration of touchegg, but that doesn't seem to work in Xmir:
Code:
$ synclient
Couldn't find synaptics properties. No synaptics driver loaded?
Does anyone else have more luck with touchegg?
While researching it, I stumbled over references to xSwipe, but I haven't looked into that any further.
ShadowEO said:
You would need to run touchegg in the wrapper. Sadly wth keyboard, the only applications that will get the system keyboard are QT based applications. GTK+ and other applications will require onboard to be installed. I messed around with trying to install maliit-context-gtk2 to get the system keyboard to show in all apps, but that broke the keyboard completely.
Click to expand...
Click to collapse
Just to reiterate, the matchbox-keyboard works fine for me!
Oh, and one thing I wanted to share: The firefox extension Grab and Drag allows a more natural touch screen style drag-to-scroll.
I completely forgot the matchbox keyboard while writing that reply, I'm not sure what's going on with touchegg as I haven't had a chance to play with it on Ubuntu touch. It could be that XMir isn't actually passing that much information about touch events.
matchbox-window-manager struggle
I am on the new Aquarius m10 Ubuntu tablet.
Tried to run tome applications and realized the X11 and Mir problem.
Came across your solution! Thank you for sharring!
Well, I dont seem to be able to install matchbox-window-manager
It shows a lot of missing dependencies and I am not abble to install them manually either..
The following packages have unmet dependencies:
matchbox-window-manager : Depends: libmatchbox1 (>= 1.7-1) but it is not going to be installed
Depends: libstartup-notification0 (>= 0.2) but it is not going to be installed
Depends: libxsettings-client0 but it is not going to be installed
Any light?? Thank you very much
eskizon said:
I am on the new Aquarius m10 Ubuntu tablet.
Tried to run tome applications and realized the X11 and Mir problem.
Came across your solution! Thank you for sharring!
Well, I dont seem to be able to install matchbox-window-manager
It shows a lot of missing dependencies and I am not abble to install them manually either..
The following packages have unmet dependencies:
matchbox-window-manager : Depends: libmatchbox1 (>= 1.7-1) but it is not going to be installed
Depends: libstartup-notification0 (>= 0.2) but it is not going to be installed
Depends: libxsettings-client0 but it is not going to be installed
Any light?? Thank you very much
Click to expand...
Click to collapse
Mhm, not sure. You do have set it to read-write and you did an apt update, right?
doniks said:
Mhm, not sure. You do have set it to read-write and you did an apt update, right?
Click to expand...
Click to collapse
Thanks for sharing this info! I also own the M10 ubuntu tablet and try to run some X11 apps.
I am able to apt-get matchbox-window-manager. But it won't start and says it can't find the display.
Running either:
Code:
matchbox-window-manager
matchbox-window-manager -d :0
as a normal user or root always returns: "can't open display! check your DISPLAY variable.".
ubuntu-pocket-desktop is up to date and I also set the DPI in ~/.Xdefaults.
What could be the reason it can't find the display? What could I try?
Tazard4 said:
What could be the reason it can't find the display?
Click to expand...
Click to collapse
You don't have an X server running. At least not at :0.
What could I try?
Click to expand...
Click to collapse
Follow the instructions in the original post or in my post #4.
Bumping this thread as I've edited the OP with the official instructions for running Legacy X Applications on Ubuntu Touch. As well as information about getting the system maliit-based OSK showing in X Applications (It's not that great though, you still may have better luck with matchbox-keyboard/on-board, but not sure how you'd even start those in Libertine.)

Windows 11 IE mode and ActiveX? [SOLVED]

Hi,
Since IE is gone I'm looking for a way to access my cctv, which requires activeX plugin to work.
Anybody had any luck getting it to work in IE mode or found some other workaround?
Managed to get it to work using Group policies and Enterprise Mode site list.
Seamless and fully working, at least with my CCTV ActiveX plugin.
Requirements:
Group Policy Templates: https://www.microsoft.com/en-us/edge/business/download
Enterprise mode site list manager https://www.microsoft.com/en-us/download/details.aspx?id=49974
Unpack templates and copy msedge.admx and corresponding language files for your version of windows to C:/WIndows/PolicyDefinitions
Run Site List Manager and add urls to automatically load in IE mode. Options that worked for me are:
Open in: MS EDGE,
Standalone IE DISABLED,
Allow Redirect ENABLED,
Compat Mode: IE11 Document mode
File -> Save to XML
#DISCLAIMER#
playing with above values might result in Edge going into loop of rapid crashes and restarts, stealing focus from other apps and requiring log out/reboot to kill. Happened to me several times until I found combination that works.
run gpedit.msc
Computer Configuration -> Administrative Templates -> Microsoft Edge
find Configure the Enterprise Mode Site List, enable it, and set path to your xml file containing sites you want to run in IE mode
example: file:///c:/Users/[Your User Account]/Documents/iemode.xml
enjoy ActiveX and other deprecated stuff in Edge.
zbaracki said:
Managed to get it to work using Group policies and Enterprise Mode site list.
Seamless and fully working, at least with my CCTV ActiveX plugin.
Requirements:
Group Policy Templates: https://www.microsoft.com/en-us/edge/business/download
Enterprise mode site list manager https://www.microsoft.com/en-us/download/details.aspx?id=49974
Unpack templates and copy msedge.admx and corresponding language files for your version of windows to C:/WIndows/PolicyDefinitions
Run Site List Manager and add urls to automatically load in IE mode. Options that worked for me are:
Open in: MS EDGE,
Standalone IE DISABLED,
Allow Redirect ENABLED,
Compat Mode: IE11 Document mode
File -> Save to XML
#DISCLAIMER#
playing with above values might result in Edge going into loop of rapid crashes and restarts, stealing focus from other apps and requiring log out/reboot to kill. Happened to me several times until I found combination that works.
run gpedit.msc
Computer Configuration -> Administrative Templates -> Microsoft Edge
find Configure the Enterprise Mode Site List, enable it, and set path to your xml file containing sites you want to run in IE mode
example: file:///c:/Users/[Your User Account]/Documents/iemode.xml
enjoy ActiveX and other deprecated stuff in Edge.
Click to expand...
Click to collapse
I followed your fancy guide but one thing does not work yet. Sometimes (especially in CCTV) ActiveX needs a right to write on HDD. E.g.: Saving snapshot or recorded video from NVR. Previously it could be resolved by starting IE as an administrator. (Right-click, run as admin). But now even I can run Edge as admin it seems privileges don't inherit to IE. So IE mode can save nothing to HDD.
Any idea is appreciated.

Categories

Resources