Well here is yet another WM6 update for our Universals...
This is the 2.02.00 ROM core patched and corrected to address the reported bugs / issues from 2.02.00 WWE. You will find below the ROM details and download links, please read all information before installing any ROMs (including the enclosed “Readme” file)
If you have any questions ir issues please post them here and myself or another will try and address it...
As always enjoy
-Jwrightmcps
Release Fixes:
Added support pages for HTC applications (help files).
Added extra ring tones (including "OldPhone").
Added extra themes.
Added backlight button assignment.
Added support for "Flight" mode (via Comm Manager).
Corrected password lockout issue.
Corrected button assignment for record button (press & hold).
Corrected Microsoft Voice Command startup issue.
Corrected "Remote SIM Access" service startup issue.
Corrected GPRS resume from standby issue.
Corrected lock-up on soft-reset issue.
Corrected default notification sounds.
Corrected storage card encryption feature.
Corrected phone call waiting issue.
Enabled ClearType as default font.
Improved Comm Manager application.
Improved power management.
Improved phone application response times.
Improved system response time and stability.
Replaced ClearVue PDF viewer with Adobe Reader LE.
Updated Java MIDlet Manager with new icons.
Updated HTC Zip application with new icons.
Updated Microsoft Office applications with new icons.
ROM Details:
Windiws Mobile 6 (CROSSBOW)
OS 5.2.318 (Build 15341.0.0.0) AKU 0.0
Storage Memory: 43.72
Program Memory: 49.58
Page file: 5.8MB
What's new in this Windows Mobile 6 ROM Update
************************************************** **********************
CE Rom: (2.02.02 WWE)
- Adobe Reader LE 2.0
- CompactFramework 3.0 SP1
- Device Page Pool set to 6.0 MB
- GPS receiver Control applet
- Revamped outlook, refined icons
- Totally re-mastered sound theme and system icons
- Increased interface speed
- Bundled IP-telephony (VoIP, SIP standard)
- Smart Dial 2.0, fast search through contacts, call history
- Any tune can now be assigned to any event
- Support for shortcuts in Outlook Mobile
- Full-fledged meetings arrangement system
- Support for HTML in messages (Exchange Server 2007 required)
- Smart Filter – handy and fast search through messages
- Numerous MS Exchange 2007-tailored changes
- Integration with Windows Live online-services
- Marketplace – purchase, download, and install directly from the device
- Encryption – bundled memory card encryption
- Improved Remote Desktop, supports true full screen and sound
- New Bluetooth stack including A2DP
- Better integration of SIM / USIM contacts
- Alphabetic sorting of SIM / USIM contacts in contacts list view
- Auxiliary display support native in OS
- Improved 'Internet Sharing'
- Much improved quick start wizard with 'skip' for tutorial, settings setup at boot time
- Pre-provisioned email accounts
- vCards over SMS
- SMS Multiple Recipient improvements
- Save SMS to SIM
- One handed PPC folder navigation improvements
- WMP full screen video on all devices
- Smart-type search
- Larger number of preconfigured email providers (including GMail!)
- USB Hard-drive emulation updated (for sharing storage card contents via USB connection)
- Bluetooth Mouse support (Stowaway Driver set)
- Bluetooth car-kit SIM access
- Added Battery Icon at bottom
- IA Zip update
- SIM Manager 5.30
- WM 6 Comm Manager with "Flight" mode
Extended Rom: (2.03.07 WWE)
- Mobile Operator settings for all major carriers (including the U.S.)
- Skype 2.1 (with Today Plug-in)
- Google Maps Mobile
Radio Rom: (1.15.00)
- This radio stack has passed our testing (so has 1.09.00 and 1.13.00)
************************************************** **********************
Dopod 900 WWE Download:
ftp://xda:[email protected]/2.02.02_WWE/900_WWE_20202_20307_11500.zip
-
i-mate JASJAR WWE Download:
ftp://xda:[email protected]/2.02.02_WWE/JASJAR_WWE_20202_20307_11500.zip
-
Orange SPV m5000 WWE Download:
ftp://xda:[email protected]/2.02.02_WWE/M5000_WWE_20202_20307_11500.zip
-
O2 XDA Exec WWE Download:
ftp://xda:[email protected]_WWE/XDA_EXEC_WWE_20202_20307_11500.zip
-
QTEK 9000 WWE Download:
ftp://xda:[email protected]/2.02.02_WWE/9000_WWE_20202_20307_11500.zip
-
T-Mobile MDA Pro WWE Download:
ftp://xda:[email protected]_WWE/MDA_PRO_WWE_20202_20307_11500.zip
-
Vodaphone V1640 WWE Download:
ftp://xda:[email protected]/2.02.02_WWE/V1640_WWE_20202_20307_11500.zip
-
NOTE: The installs have been digitally signed for your confidence and safety!
(Digital Serial Number: ec b8 10 3b e7 65 19 ba 4f 05 48 14 e3 34 97 61)
---------------------------------------------------------------------------------------
How-To Verify a digitally signed file against a known serial number
---------------------------------------------------------------------------------------
Step 1
Download the file you wish for your device.
(i.e. "JASJAR_WWE_20108_20301_11300_wwe_ship.zip")
Step 2
Unzip the download.
(double-click the ".zip" file and then click on "Extract all files")
Step 3
Open the directory that you un-zipped the download to.
(i.e. folder "JASJAR_WWE_20108_20301_11300_wwe_ship")
Step 4
Locate the InstallSheild setup program in the ROM folder, then right-click it and choose "Properties".
(i.e. "JASJAR_WWE_20108_20301_11300_wwe_ship.exe")
Step 5
Once the file properties is open select the "Digital Signatures" tab, then in the "Signature List" double-click the "HTCCertificates signing authority" signature.
Step 6
Once the "Digital Signature Details" is open select the "Advanced" tab then compare the "Serial number" with the known one.
(My S/N: “ec b8 10 3b e7 65 19 ba 4f 05 48 14 e3 34 97 61”)
Step 7 (Results)
If the serial numbers match then rest easy because you are using a "TRUE" Jwrightmcps ROM that has not been altered and is virus-free.
If the serial number does not match then it is not my original work and should not be used!
NOTE: I did this is case these files make it onto other sites, it will give you guys a way to tell if it is really mine or not. I will always use this serial number (ec b8 10 3b e7 65 19 ba 4f 05 48 14 e3 34 97 61) from now on to sign all my work, so please make note of it!
woohoo. Will be testing this asap
Hallo,
yesterday I changed to 2.02.00 and while having breakfast I see your new version.
Funny: I immediately changed from Virtual Earth to Google Maps.
Today I will update to your new version (downloading now) - should be easy because now I still remember all tricks to make my german MDA Pro work again
thx
good job
I have found a partial fix for the mem-leak that doesnt screw up ROM's, when i get back this evening ill try adding it to this rom and post the result.
Seriously impressed ...
Wow Jwrightmcps !!! You've outdone yourself this time. OS seems to be stable so far, phone app hasn't crashed all day , no random soft resets, password lockout solved woohoo !!!, no more memory leaks, accelerated 3D VGA graphics performance (FPSEce 54fps) :-D, and last but not least a faster start menu.
All in all, I'd say this build deserves a 9.5/10. The only remaining issue is the video call option that's been missing in all wm2006 Universal builds. Hope this gets solved soon
Thanks Jwrightmcps for an amazing job
THank you Jwright. Will be testing it soon.
Working Good so far.Tks -J.
Downloading now and will install when I get back from work. Good to see you have included 1.15 Radio as I found it greatly improved my M5000's performance. Oh and thanks for listening to people and putting google maps on.
Finished. No problems, very fast. Now I can go to work
Thx again
Midget_1990 said:
good job
I have found a partial fix for the mem-leak that doesnt screw up ROM's, when i get back this evening ill try adding it to this rom and post the result.
Click to expand...
Click to collapse
People on this thread have already reported that the memory leak has been(though i m yet to try out this rom. What is your 'partial fix' all about Midget? Can you enlighten us a little?
kdskamal said:
People on this thread have already reported that the memory leak has been(though i m yet to try out this rom. What is your 'partial fix' all about Midget? Can you enlighten us a little?
Click to expand...
Click to collapse
as it stands .. This ROM has memory leak ... imho diversion became even more than in 2.02.00 ..
Midget_1990 all hope for you
Bluetooth went off in 20 minutes! Memory down to 25 mb after a single call! Voicecommand, activesync, and all plugins disabled. Nothing installed. I'm back to Jwrightecps aku 3.2. Thanks anyway for your generous effort. No hope for 1.91.02?
How much of free program memory after soft reset is there?
lol of the world ...this rom set a new memory leak Record .. After 30 minutes of intense work has flowed 15 megabytes of memory
Memory Leak.
Hi all,
Can I first say THANKS for the great WM6 ROM.
But the only issue I have is the memory leak and was wondering does anyone have any solutions.
Also I have tried a video call and IT WORKS!!!
I just make the call from my O2 XDA Exec (With Vodafone Ireland 3G Sim) to another Vodafone Ireland 3G video phone and it works perfectly.
So not sure why people say it does not work for them.
So any updates on the memory leak problem would be welcome, once I get that sorted I think we have a 99.999% perfect ROM release.
Thanks,
Mark aka IrishLad
just flatly refused to boot ... hung in the windows mobile screen. helped HARDRESET
IrishLad said:
Hi all,
Can I first say THANKS for the great WM6 ROM.
But the only issue I have is the memory leak and was wondering does anyone have any solutions.
Also I have tried a video call and IT WORKS!!!
I just make the call from my O2 XDA Exec (With Vodafone Ireland 3G Sim) to another Vodafone Ireland 3G video phone and it works perfectly.
So not sure why people say it does not work for them.
So any updates on the memory leak problem would be welcome, once I get that sorted I think we have a 99.999% perfect ROM release.
Thanks,
Mark aka IrishLad
Click to expand...
Click to collapse
How did you make a video call, I don't even have the option (no Video Call button)?
Mr Groch said:
How much of free program memory after soft reset is there?
Click to expand...
Click to collapse
i have 26.something .. but it drops rapidly ontil 24.91
no calls apps running whatsoever...
sweetness, will be testing the rom today
if the rom's mem leak is as bad as teh other posts say i can wait to here how your patching goes midget, the hybred could be the best universal rom todate =D
What about video calls....Please sombody reply...Thanks....
Dane_sober said:
i have 26.something .. but it drops rapidly ontil 24.91
no calls apps running whatsoever...
Click to expand...
Click to collapse
Are we all using the same ROM?
Someone has no memory leakage, everyone else loads.
I've just reset again (for some reason it froze on reset once) and have had it sit on 32MB storage and 26MB program memory for about an hour (no apps added).
Hello All,
Here is my newest release! This release has been built using a new core 5.2.1938. This update is to replace any of my previous ROM versions for the HTC Universal.
Please find below the ROM details and download links, please read all information before installing any ROMs (including the enclosed “Readme” file)
If you have any questions or issues please post them here and I or another experienced member will try and address it...
As always enjoy!
-Jwrightmcps
Special Thanks To:
THE DARKFORCE TEAM (for supplying me the XIP and base OEM files I used, THX SO MUCH!)
MIDGET_1990 (for all your special help, as always thx!)
ALL ROM DEVELOPRS/CONTRIBUTORS (for your thoughts, hard work and insight)
ALL USERS (for you trust and confidence)
Previous Release Fixes:
All main OEM files are now modules (memory usage improvements)
Added Transcriber support.
Corrected Phone/Screen resume issue.
Corrected messaging button issue.
Corrected messaging contact picture display
Improved VoIP (Increased volume and added BT headset support)
Corrected Camera buffer issue.
Improved System performance.
Improved power management.
Improved phone application response times.
Improved system response time and stability.
New ROM Details:
Windiws Mobile 6 (CROSSBOW)
OS 5.2.1938 (Build 18538.0.7.0)
Storage Memory: 43.72
Program Memory: 48.95
Page file: 5.2MB
What's new in this Windows Mobile 6 ROM Update
**************************************************************************************************
CE Rom: (2.12.08 WWE)
- Improved VoIP (increased volume and BT Headset support)
- Microsoft Voice Command 1.6.18538
- Adobe Reader LE 2.0
- CompactFramework 2.0 SP2
- Device Page Pool set to 6.2 MB
- GPS receiver Control applet
- Improved outlook, including fax view
- Increased interface speed
- Bundled IP-telephony (VoIP, SIP standard)
- Smart Dial 2.0, fast search through contacts, call history
- Support for shortcuts in Outlook Mobile
- Full-fledged meetings arrangement system
- Support for HTML in messages (Exchange Server 2007 required)
- Smart Filter – handy and fast search through messages
- Numerous MS Exchange 2007-tailored changes
- Integration with Windows Live online-services (including MySpace)
- Marketplace – purchase, download, and install directly from the device
- Encryption – bundled memory card encryption
- Improved Remote Desktop, supports true full screen and sound
- New Bluetooth stack including A2DP
- Better integration of SIM / USIM contacts
- Alphabetic sorting of SIM / USIM contacts in contacts list view
- Improved 'Internet Sharing'
- Much improved quick start wizard with 'skip' for tutorial, settings setup at boot time
- Pre-provisioned email accounts
- vCards over SMS
- SMS Multiple Recipient improvements
- Save SMS to SIM
- One handed PPC folder navigation improvements
- WMP full screen video on all devices
- Smart-type search
- Larger number of preconfigured email providers (including GMail!)
- Storage Settings (share storage card contents via USB connection and configure SD/SDHC support)
- Bluetooth Mouse support (Stowaway Driver set)
- Bluetooth car-kit SIM access
- Added Battery Icon at bottom
- IA Zip update
- SIM Manager
- WM 6 Comm Manager with "Flight" mode
- New Task Manager 1.5
- New Global Network Configuration Wizard
- New Support for SDHC cards
- New MIDlet Manager 11.1.7.1036
- New VoIP drivers
- New Storage Settings 2.0
Extended Rom: (2.12.010 WWE)
- Skype 2.1 (with Today Plug-in)
- Windows Live Search
- Windows Mobile DST Update
Radio Rom: (1.15.00)
- This radio stack has passed our testing.
************************************************** **********************
Dopod 900 WWE Download:
http://vidmes.com/Uni/ROMs/Jwrightmcps/2.12.08/900_WWE_21208_212010_11500.zip
i-mate JASJAR WWE Download:
http://vidmes.com/Uni/ROMs/Jwrightmcps/2.12.08/JASJAR_WWE_21208_212010_11500.zip
Orange SPV m5000 WWE Download:
http://vidmes.com/Uni/ROMs/Jwrightmcps/2.12.08/SPVM5000_WWE_21208_212010_11500.zip
O2 XDA Exec WWE Download:
http://vidmes.com/Uni/ROMs/Jwrightmcps/2.12.08/XDAEXEC_WWE_21208_212010_11500.zip
QTEK 9000 WWE Download:
http://vidmes.com/Uni/ROMs/Jwrightmcps/2.12.08/9000_WWE_21208_212010_11500.zip
T-Mobile MDA Pro WWE Download:
http://vidmes.com/Uni/ROMs/Jwrightmcps/2.12.08/MDAPRO_WWE_21208_212010_11500.zip
Vodaphone V1640 WWE Download:
http://vidmes.com/Uni/ROMs/Jwrightmcps/2.12.08/V1640_WWE_21208_212010_11500.zip
WinCE 5.2.1938 Source Package:
Comming soon...
NOTE: The installs have been digitally signed for your confidence and safety!
(Digital Serial Number: ec b8 10 3b e7 65 19 ba 4f 05 48 14 e3 34 97 61)
---------------------------------------------------------------------------------------
How-To Verify a digitally signed file against a known serial number
---------------------------------------------------------------------------------------
Step 1
Download the file you wish for your device.
(i.e. "JASJAR_WWE_20108_20301_11300_wwe_ship.zip")
Step 2
Unzip the download.
(double-click the ".zip" file and then click on "Extract all files")
Step 3
Open the directory that you un-zipped the download to.
(i.e. folder "JASJAR_WWE_20108_20301_11300_wwe_ship")
Step 4
Locate the InstallSheild setup program in the ROM folder, then right-click it and choose "Properties".
(i.e. "JASJAR_WWE_20108_20301_11300_wwe_ship.exe")
Step 5
Once the file properties is open select the "Digital Signatures" tab, then in the "Signature List" double-click the "HTCCertificates signing authority" signature.
Step 6
Once the "Digital Signature Details" is open select the "Advanced" tab then compare the "Serial number" with the known one.
(My S/N: “ec b8 10 3b e7 65 19 ba 4f 05 48 14 e3 34 97 61”)
Step 7 (Results)
If the serial numbers match then rest easy because you are using a "TRUE" Jwrightmcps ROM that has not been altered and is virus-free.
If the serial number does not match then it is not my original work and should not be used!
NOTE: I did this is case these files make it onto other sites, it will give you guys a way to tell if it is really mine or not. I will always use this serial number (ec b8 10 3b e7 65 19 ba 4f 05 48 14 e3 34 97 61) from now on to sign all my work, so please make note of it!
Cabs and Patches:
N/A
ty jwright.. its good to be the first!!!!
Jjjasjar said:
ty jwright.. its good to be the first!!!!
Click to expand...
Click to collapse
I must say you are quick, I just posted it...
-Jwrightmcps
just one small inquiry. you mentioned before that you corrected the mms issue. i dont see it on the what's new portion. other than that all is well
first of all ,congrates for your hard work.i have downloaded the rom & tested it on my mda pro .i think this must be bugs free rom for pda lover.
Jjjasjar said:
just one small inquiry. you mentioned before that you corrected the mms issue. i dont see it on the what's new portion. other than that all is well
Click to expand...
Click to collapse
Yes MMS works this time!
-Jwrightmcps
checking it out
i have a major problem, just wondering if this rom has it fixed....
The top start bar goes dead after a while....so i click on the start button, it doesnt fire up the menu....but the rest of the device is usable,....but pointless eventually needing a restart...
Man, sometimes i wonder, why does god damned MS make such buggy software? Cant it just run on all devices the same way???! Unless they've written "special" code blocks to screw things up on purpose!
cheers, and like every new rom does, this gets my hopes and euphoria up again, and here i go testing it! thanks m8 for all your efforts
San
can't wait started the download and will be flashing just now.
Downloading your new ROM. I'm using your last ROM right now, the only problem being that uninstalling skype doesn't actually uninstall it
Hope this ROM is even more stable than your last one. Great work!! Will drop by with my feedback in a couple of days!!
SDHC Issue
My Sandisk Ultra II 4 GB is not showing up his root in the file explorer. I changed the driver to Enhanced mode (Evenif it was selected initially) and restarted the device. But no use.... 1933 it was working perfect with the same card. Anyone else having this issue >?
Thanks Dear...What about video call...??
I have just downloaded the ROM... but haven't upgraded my device. Video call was not appearing in the previous ROM..... expected to appear in the latest ROM atleast
is it possible to change the regional settings and the currency edit? how about SMS schedular like e-mails?
Hi Jason!
Why you put it into it it adobe reader steady?
And what the "performance.exe" does not get place for in the ROM reason?
Cheers: Laza
Hi Jason,
Thanks alot for your efforts.
I have a problem that my phone buttons does not work and I can't display my old contact that I saved from from WM5. PIM file is about 900K.
The On buton also does not work, to turn the device on I had to push the button and move the screen forward and back.
Any body have a solution, please help. Thank You.
I have a JASJAR.
Great ROM, especially the phone response is really good. No call missing / dropping appeared until now (on R 1.15 supplied with the ROM).
But my 4 Gb SDHC not detecting on this ROM. I tried with 1933, its perfect on that release. I have seen one more report about 8GB SDHC issue in 1958 version release thread.
JW Do you have any work around ?
Camera not working at all. Back to 21206: after a month of use not a single problem!
IEEE 802.11g WLAN registry hack:
Before: HKLM\COMM\TNETWLN1\PARMS\dot11SupportedRateMask = 1 (dword)
After:HKLM\COMM\TNETWLN1\PARMS\dot11SupportedRateMaskG = 8 (dword)
tailazoom said:
Camera not working at all. Back to 21206: after a month of use not a single problem!
Click to expand...
Click to collapse
But Camera working perfect on mine (G4)
New Core of WM6.1 Pro - CE OS 5.2.19900 (Build 19900.1.0.2) with "12.5 MB Flashdisk".
There are so many ROM's (from the different builds) are floting around. But few of them I discovered has less database mess (i.e. Build 18188, 19400 and 19900). Finally, I decided to build my next rom based on 19900 and I would stick on that for some time (until I find another).
Changes and Features of v7.7:
-- New WM6.1 Core + OS (Build 19900)
-- New Memory Manager / Auto hibernate
-- New Advanced Config tool (by Schap) with custom config
-- New System Tray (delete link from startup if you don't like)
-- New Enhanced OEM Drivers and DirectShow filters
-- New (replaced) 6-button CommManager
-- New (replaced) Calculator
-- Fixed IRDA issue
-- Fixed ActiveSync over BT
-- Fixed external connection creation issue (e.g. BT under connection menu)
-- Fixed SMS backup/restore problem (by PIM Backup)
-- Updated DF's Task Manager / Registry Editor 3.0
-- Increased Glyph cache and Filesystem cache
-- GPRS call timer (on Connection bubble)
-- SD/SDHC support and driver switch-over tool (thanx OllieD for coding support)
-- ArcSoft MMS Composer 4.2 (max. MMS size set to 2MB)
-- TCPMP 0.72
-- BT FTP explorer
-- WkTask 1.1.7.3c (by waku) Task manager
-- Camera Application (Build 25626)
-- TodayAgenda 1.10 today plugin
-- WM5torage 1.78 (USB HDD Emulation)
-- Total Commander 2.5
-- Adobe Reader LE 2.0 (optimized)
-- Performance/overclocking applet (default 624 MHz)
-- DF's PIM Backup 2.8 (for contact, sms/mms etc. backup)
-- SynchroTime (by Grachov) for Internet time sync
-- PocketRAR 3.71 (with .zip/.rar association)
-- File-Dialog changer (for file browser enhancement)
-- Voice notification & ringtones
-- Improved Video renderer (game play should be OK now)
-- NetCF 3.5 and SQLCE 3.5
-- Improved Phone response
-- PIE hi-res support
-- Source filter issue resolved
-- SMS mode set to Threaded (no more back/restore issue)
-- Image size and compression issue of MMS Composer resolved
-- Managed Program applet removed (due to Class not registered error)
-- STK srvice and all the common utilities
-- SMS delivery fix (by Saman)
-- Set default search to Google (desktop) search
-- PIE cache (temp, cockies & history) relocated to the root (\IE Cache) for easy cleaning
-- PIE cache limit set to unlimited and tweaked to get best performance
-- Enhanced wifi driver with WPA workaround
-- Set default dev-id and BT name to "Universal"
-- Disabled incoming beams (to save battery)
-- Disabled today plugins - Date, Appointments & Tasks (replaced by TodayAgenda)
-- Almost all the Today item set to hidden (Unhide from Today settings, if needed)
-- Exe's & Dll's transformed to module (wherever possile)
-- Registry type set to file-based (instead of buffer-based)
-- Some performance tweaks
-- Unlock/Unhiding tool for extROM
-- Should work on G3/G4 both devices
-- 12.5 MB Flashdisk (for G3/G4 both devices)
-- PagePool - 5.6 MB
-- 128 MB RAM Support (may need to set PP => 0)
*Cab on Flashdisk (need to be installed manually, if required):
-- Windows Live
-- Transcriber
[Delete the "Software" folder under flashdisk if you don't need the provided CAB's]
I would appreciate a little DONATION.
Current Build v7.7:
http://vidmes.com/xda/Uni/ROMs/Tomal/TML_v77_WM61_19900_19900_1_0_2.exe
Old Build v7.6:
http://vidmes.com/xda/Uni/ROMs/Tomal/TML_v76_WM61_19209_19209_1_0_2.exe
Empty ExtROM (optional):
http://vidmes.com/xda/Uni/ROMs/Tomal/Tomal_ExtROM.rar
Special thanx to:
Bepe, Mamaich, Misar, DFT team, thingonaspring, TehPenguin and all other friends for their support in different areas.
Again, special thanx to the beta testers for their support for catching bugs.
Cheers,
//Tomal
Useful Information
I'm having so many email's and PM's to provide the info for building the ROM using Flashdisk (FD) and I thought I would provide some general info so that it would help our friends to get at least the preliminary questions answered.
What is Flash disk (FD)?
FD is the additional space usually un-utilized in the ROM (nk.nba). FD has no effect to the space allocated for regular storage (36 - 40 MB). Having FD means, your net storage is: Regular storage + FD. i.e. 40 + 15 = 55 MB.
How to make FD working?
Anyway, my (v7.x) ROM has a 15 MB FD; if you look on the nk.nba then you should find it the offset between 03060000 - 03EFFFFF.
There is a 512 bytes MBR starting from the beginning and then the FAT table. This is just like a physical disk and formatted using regular FAT12 ensuring the device compatibility issue. You need to be bit careful during the ROM building process. Overwriting/overlapping can damage the MBR/FAT header and disk won't be recognized by the OS. The best or easiest idea is to verify the mentioned offset by a hex editor before the ROM getting encoded or flashed.
03060000h: EB 3C 90 4D 53 44 4F 53 35 2E 30 00 02 08 02 00 ; ë<MSDOS5.0.....
03060010h: 02 00 02 00 75 F8 0B 00 3F 00 FF 00 00 83 01 00 ; ....uø..?.ÿ..ƒ.
...
...
...
03EFFFF0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
XIP of this ROM is very important or you may completely loose the FD functionality. Last but not least, most of the (OEM) drivers of this ROM are inter-dependant and exchanging may cause an unstable or non-functional ROM. You need to be careful during exchange.
Please note that, I have a few PM’s that the Hypercore kitchen is somehow unable to handle the FD but I don’t know why as I don’t use this kitchen so I’m sorry to answer.
How to configure MMS?
Create a blank MMS and tap on Menu, Options>Message Options>Servers. Now, tap on New and you can enter the servers parameters here.
Why I can't receive files over BT?
Tap on Start and then Settings>Connections>Beam, check on "Receive all incomming beams". Now, open BT setting under Comm Manager and enable file sharing under FTP tab. I hope you would be able to send/receive files over BT. But please note that, BT Explorer may not work on some cases so the best possible option is to send the files directly from other (paired) device and you should find the files under "\My Documents".
How to RESET / SUSPEND device?
Tap or Tap+Hold on the top-right of the today bar and then Functions>Reboot ...
Best of luck.
ENJOY!!!
//Tomal
nice release
Snapvue
Hi Ranju,
First off all thanks, testing now ...
first thing I noticed, no snapvue ;(
can you post a cab ?
further,
camera ok.
email creation after starting camera ok.
fast ok
some nice little extras.... very ok !
will test further,
again thank you,
greetings,
Wout
yes 128MB
Downloading now....
Will report all bugs found...
Cheers
WM 6.1 pro
These roms are nice and slick,thanks for your efforts. What memory is left at start up on this one please. What makes you think it will be buggy?
Regards
Jay
Update......
OK! So I couldn't wait!
Memory at first start is 39.45 mb storage and 21.94 mb programs, only bug found till now is tapping on wireless today plugin doesn't do anything (if it was supposed to)
Take care
Jay
htc .commanager fix. download it itll do the job
thanks ranju this rom looks like a good cook,ive been tryn to cook my own rom but i dont hav enough ram on my laptop
nice release
Will it work with 64 Mb Ram ?
Thanks Ranju for your permanent efforts in creation of stable ROMs. Your latest ROM is the fastest and stable for me. Very good job. Thanks.
QTEK9000
64 RAM
Very nice rom.Thanks.Works perfect with 64MB RAM
hotchillypepper said:
nice release
Will it work with 64 Mb Ram ?
Click to expand...
Click to collapse
Yep! It works very well indeed, About 39mb storage and 20mb programs. it all works very well, no hangups up to now!
Jay
sms/mms
very cool image, no hang up yet
very fast
PERFECT!!!!!
but
it would be nice, if sms/mms have separate folders! (i try to install arcsoft composer again)
after softreset, programhistory won't be cleared, is there any way to change this?
How much ram avilable on 64mb devices after reboot?
This the best ROM version or 128 MB Universal...
Congratulation!
Excusi me, I do not speak on behalf, ot englis...
Well done Ranju. Whilst I have not done any significant testing on this ROM, I trust it's just as fast as your previous ROMs.
One thing worries me though. I noticed that the Potocol Version is still 42.42.P8 and the ExtROM version is still 1.30.162 WWE and conseqyuently installing the Old O2 programs like "Active " and "HotSpots Directory".
Available free Program memory is down to 25.75MB. Is there a way I can Erase the ExtROM and re-flash this ROM?
Thx for this release.
Almost got my 1st heartache. flash error at 99%, 1st time!!!!
2nd try worked OK.
I changed SD drivers, to use my old SD.
1st try didn't work. Reverted to SDHC drivers, and SD didn't work after sleep ( that's normal ).
Switched back to SD again and on the 2nd try, worked ok. SD works after sleep.
As usual I will decode the ROM to learn a bit more.
DFT was also nice, but the ROM structure isn't the best. Lots of files and apps in OEMAPPS, which makes customize a hard job.
I was surprised by some apps in extended rom. Opera is not launching.
GSM is not default mode. It is set to auto.
Tomorrow I'll post more information about the ROM experience.
ultravox said:
Thx for this release.
Almost got my 1st heartache. flash error at 99%, 1st time!!!!
2nd try worked OK.
I changed SD drivers, to use my old SD.
1st try didn't work. Reverted to SDHC drivers, and SD didn't work after sleep ( that's normal ).
Switched back to SD again and on the 2nd try, worked ok. SD works after sleep.
As usual I will decode the ROM to learn a bit more.
DFT was also nice, but the ROM structure isn't the best. Lots of files and apps in OEMAPPS, which makes customize a hard job.
I was surprised by some apps in extended rom. Opera is not launching.
GSM is not default mode. It is set to auto.
Tomorrow I'll post more information about the ROM experience.
Click to expand...
Click to collapse
Interestingly, I got the failure at 99% first time, and it worked second time around.
I've had a single hang so far, but that could be down to the default overclocking. I've switched that off for now, so that should give a better indication of the general stability. So far though, it looks great, although I prefer SMS and MMS to be in separate folders.
The reworked IE for VGA is better than the version (in my opinion) than in the DarkForce release, and the "bug" listed that zoom in the context menu doesn't work, seems to work fine for me.
[Bug Report]
One issue I've noticed is that the width of the editors in Pocket Outlook (in common with a few other ROMs I've tried) seems to be a little bit too wide, and this causes a horizontal scrollbar to appear unnecessarily.
Cheers,
Steve.
Only 21 mb free after soft reset??
Day 1 Report
After 16 hours of use, no problems and no crashes/freezes... 1st time syncing is much much faster...
Good job,
Just highlight a few points of improvement.
1. Set the all SDHC block transfer rate to 64kbyte as it will give better and balanced performanced in TCPMP (played 1.5 hours DVD resolution movie, never paused at all) Windows Media Player...
2. Set the performance overclocking to 520MHz to better stability. Power users can manually set it to 624MHz
Cheers,
Will have more to report soon.
Heyho together,
after my P9-Lite and P10-Lite toolkit i thought, it's time to build a more generic version. Here it is, the ADB-Overlay!
The main point of this project is to serve a GUI for ADB. Currently, there is a File-Explorer, Remote-Desktop, Shell interface and APK installer implemented. You can also READ the contacts if your device is rooted and has sqlite3 installed. But a picture tells more as 1000 words... So here is a preview of what you'll get.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
But anyways, i'm not responsible for any damage done to your device! For example, if you delete some files/folders on root lvl etc.
Component Info
Remote-Desktop:
Left-Click = Touch
Right-Click = Swipe with duration
The keyboard is nearly fully supported, i have written a kind of WPF -> Android key-mapper. So even combos like SHIFT+A-Z, SHIFT+0-9, ALT+A-Z and ALT+0-9 should work. The base for the key-mapping is a 102 keys keyboard with en-GB or de-DE layout. If you have another setup, some keys may on other positions.
The screenshots will be created under "ADB-Overlay\Screenshots\Screenshot.yyyy-MM-dd_HHmmss.(bmp | gif | jpg | png | tiff | wmp)".
-
If the device is booted in the recovery, the Remote-Desktop is only a viewer, because the recoveries doesn't support "input tap x y" nor "input keyevent XXX".
Shell:
The input box supports CTRL-A-Z, so you'll have the ability to send for example CTRL+C to stop a remote process. If you want use Copy & Paste onto the input box, use the Right-Click menu.
Tested OS
Win 7 | 8 | 8.1 | 10 | 11 (32Bit/64Bit in VM-Ware)
Win 7 | 8 | 8.1 | 10 | 11 (64Bit Native)
Tested Devices
Android Emulator some Versions (min. 2.x) in AVD
Android x86
HTC Sensation -/ XE (non-/rooted)
HTC One M9 (non-/rooted)
Huawei P9 Lite (VNS-L21, 22, 23, 31, etc.) (non-/rooted)
Huawei P10 Lite (WAS-LX1A, etc.) (non-/rooted)
Huawei Mate 9 (THX to @Tecalote)
Huawei Mate 10 Lite (THX to @Chisetdel31260)
Huawei P9 (EVA-al10) (THX to @reynard1)
Sony Xperia X (THX to @FoxTheLegend)
Pixel 4 (THX to @squabbi)
Requirements
Android: min. 2.x
Platform: x86/x64 (Windows)
Frameworks: min. .NET 6 / .NET 6 Desktop Runtime x86/x64
(Installed ADB/Fastboot driver)
Download
Mirror: See attachments
Mirror #1: My FTP [USR/PW=ADB-Overlay]
Mirror #2: GoogleDrive
Mirror #3: Dropbox
Mirror #4: Mega
DO NOT MIRROR MY FILES! DO NOT COPY MY THREADS!
Bug-Tracker
If you can't use the SDK-Updater or the Version is 0.0, just close the ADB-Overlay delete the "platform-tools" directory and restart the ADB-Overlay.
If the device won't connect via W-/Lan, check which version of android you are running... the latest version "SP2A.220505.002, May 2022" seems to break "Developer settings -> USB-Debugging -> Debug over W-/Lan"... To get it working anyways, just open a cmd prompt in the "platform-tools" folder, connect your device via USB and execute the following command: "adb tcpip 12345" (or some other port). After that, you should be able to connect your device via W-/Lan.
App Freeze
If the ADB-Overlay freezes during startup or by connecting a rooted device, the solution is to update the su binary. I encountered this problem yesterday on an older device running Android N. After an update to Magisk Canary [build 21005] the problem was solved.
Changelog
DD.MM.YYYY | (A) = Added | (C) = Changed | (D) = Deleted | (F) = Fixed | (R) = Recoded | (U) Updated
----------------------------------------------------------------------------------------------------------------------------------------------------
30.04.2022 [2.2.2.0]
(F) The SDK updater.
27.04.2022 [2.2.1.0]
(F) A freeze which occured on some FTP-Servers which doesn't implement RFC 959 properly.
11.04.2022 [2.2.0.0]
(U) General improvements in terms of speed and connectivity.
(U) The FTP config is now AES-256 encrypted for better security.
29.11.2021 [2.1.0.0]
(U) To .Net 6
(U) General improvements in terms of speed and connectivity.
25.07.2021 [2.0.2.0]
(A) ADB-Sideload
(U) ADB and Fastboot binaries.
(F) Some transfer issues (Binary <-> Socket)
(F) The platform-tools updater.
12.01.2021 [2.0.1.0]
(F) All freezes on the Tree-/ListView.
(A) ColumnHeader sorting on the Explorer and Apk-Manager ListView.
(A) Sort options for all header not only Name, Size, Date and Type.
(C) Sorting happens now in the background (So no more freezes here too.).
.-Older changes-.
12.12.2020 [2.0.0.0 - .Net 5]
Switched to .Net 5.0
(F) FTP-Updater timeout issue
(C) Brotli compression to .Net native
17.09.2020 [1.18.46.0]
(A) sendrecv_v2 for Android 11
(A) Brotli compression for file transfers on Android 11
29.03.2020 [1.17.46.0]
(A) Cut (via Context-Menu and "Ctrl+X")
(A) Copy (by default and via Drag'n'Drop by holding "Ctrl" during drop)
(A) Move (via Drag'n'Drop by holding "Shift" during drop)
(NOTE: Move is now enabled for on-device, device-to-device, local-to-device and device-to-local transfers.)
(C) The copy window, it will now display "Copy" or "Move" depending on the current operation.
16.03.2020 [1.16.46.2]
(F) The updater buttons, now they are also disabled during an download/check.
15.03.2020 [1.16.46.1]
(F) File/Folder interaction with those which contains "\s _ - ' , * & ~ | < > ( ) [ ] { }" in their names.
07.03.2020 [1.16.46.0]
(C) The synchronous IO to fully asynchronous IO.
(A) The Edit-Window, this will temporary download the file and open it locally in an application defined for this file type or with the "OpenAs" dialog.
(C) The UI, buttons which can't be used are now "grayed out".
12.02.2020 [1.15.46.1]
(F) The re-connection bug on the FTP-View. (Which also caused the updater to fail.)
(F) The (2 sec) freezes after copy/delete/tar.
(C) The info bar, added the modify date.
31.01.2020 [1.14.46.0]
(F/A) The timestamps for access, changed, modify.
(C) The "Properties Window", added the mentioned fields and resized the height a bit.
(A) Create File on the FTP-View.
30.12.2019 [1.13.46.0]
(F) The FTP TLS/SSL problem, now all procedures (implicit/explicit) should work without problems. (I tested this the last days with multiple servers, also the proxy's socks4/a|5 should now work with TLS/SSL.)
(U) All 3 explorers, they relay now on an shared generic base explorer which implements most of the features for all 3 views. So it's guaranteed that all views will behave the same.
(U) All 3 explorer views, changed the spacing's and the "edit textbox" (on rename) a bit, so that they look a bit more like the default explorer.
(A) IComparable<T> and IEquatable<T> to all List-/TreeViewItems so you get a pre-sort during item parsing. (I thought it would work a bit nicer, but hey, now it's implemented^^)
(R) Optimized the item (file/folder) parser for both Android & FTP.
18.12.2019 [1.12.46.1]
(F) The broken SDK-Updater, where you saw in the log file a "BindingException".
(F) The "SocketException" on app close. Reason for this was, that i disposed the "DeviceMonitor" after i killed the adb-server, but the monitor tried to check in some cases (10 sec refresh rate) for changes, after the server was already down.
(A) The "remount" option for mounts to the properties window. (You'll get also a little warning, each time you attempt to remount a mount point.)
(C) Resized the properties and the updater windows a bit.
17.12.2019 [1.11.46.0]
(F) The remote desktop for 16-Bit devices.
(R) Root detection
(R) Mount detection (added support for Android 2.x)
(R) The properties view, as mentioned, there is now a more valuable overview.
14.12.2019 [1.10.46.0]
(A) A version banner to the title bar.
(R) Nearly the whole caching logic inside the local ,Android and FTP explorer.
(R) The mount ([Device]) overview, now you'll see all mounts returned from "mount" and the assigned "df" data, if available. (The next build will include a more valuable overview in the PropertiesWindow. Like the mount options etc.)
(R) The remote desktop, i moved the "color correction" inside the pixel-buffer copy process. This will save a lot of time and boost the FPS in my TWRP up to 80++ per sec.. (That was so much, that .Net even couldn't dispose the sockets so fast as i requested a new one... This ended in an waiting queue overflow... So i decided to limit the FPS to 30-40 this is enough to have a clean view.) - Also NOTE: BOOTED IN ANDROID, WILL DECREASE THE FPS TO 2-3 DEPENDING ON THE RESOLUTION OF YOUR DEVICE! THE ONLY SOLUTION FOR THIS IS, START ADB WITH ROOT RIGHTS. (I added a internal switch, which will detect if adb runs as root, if so, i don't relay on the frame-buffer-service of adb. Instead, i use the bare metal (/sys/class/graphics/fb0/) to get the correct buffer values and then i read directly from "/dev/graphics/fb0".) AGAIN, NOTE: THIS WILL NOT RAISE THE FPS UP TO 80++, BUT THE FPS WILL INCREASE UP TO 15-25.
11.12.2019 [1.9.46.1] (HotFix)
(A) The mistakenly removed overwrite protection on item rename. (Android)
(R) The Copy & Delete view, the media-scanner, if activated, will now only run once at the end of an copy or delete action.
(R) Sym-/Directory/File detection, there was in rare cases a wrong detection where a SymDirectory was treated as an SymFile.
(F) The "Create New Textfile" action. (Android)
10.12.2019 [1.9.46.0]
(F) An ArgumentNullException which was raised during "mount" parsing. (On the "device" view.)
(F) The renaming issue, where you got, "The element couldn't be renamed!", if the name hasn't changed.
(A) Windows shortcuts to the TreeView of the Windows explorer. (Even the original one hasn't that feature )
(A) Hiding the ".lnk" extension on any Windows shortcut.
(A) Internal auto updates to the remote explorers (Android/FTP). So you have a kind of "pseudo" FileSystemWatcher.
(A) The re-sorting of the items after an rename action.
(D) Some code duplication. (Saved all together ~12 kb)
(R) Unnecessary refreshes and replaced them with internal cache logic's.
02.12.2019 [1.8.46.0]
(F) An ObjectDisposedException which was sometimes raised after symlink parsing and/or file transfers.
(C) The channeling on the ADBSocket, from an ConcurrentDictionary to an simple array with locks, this increased the transfer speed.
(U) The dlls to the latest versions.
24.07.2019 [1.7.46.0]
(R) The config files, both, the config.xml and the config.ftp.xml got an structure update. The old/current config files will be migrated to the latest version. So there should be no data loss in any way.
(A) A version banner to the Android and FTP view
(C) The adb directory from "ADB-Overlay\adb" to "ADB-Overlay\platform-tools"
(A) The SDK-Updater
(A) Auto-SDK-Update - If activated, this will check once every 24h for an update, but only on startup of the ADB-Overlay. (NO Tasks or something)
Info
The updater will only check "https://dl.google.com/android/repository/repository-11.xml". This XML gets downloaded and parsed, if the "platform-tools" version is newer as the used one, you'll get an popup which offers the download for the latest version.
The Auto-SDK-Update is by default disabled.
28.06.2019 [1.6.46.0]
(F) A memory leak which occurred by removing a device (Android View -> Closing an tab)
(F) A memory leak which occurred by removing a server (FTP View -> Closing an tab)
(R) Improved the directory parsing speed
(A) A progress bar to the copy window (green during transfer and on completion | red on failure or cancellation)
04.06.2019 [1.5.46.0]
(C) The versioning:
1 = Major
5 = Minor
46 = Framework Version (4.6)
0 = Hotfix
(A) A few speed improvements to the Remote-Desktop.
(A) The updater/-menu
(A) Auto-Update - If activated, this will check once every 24h for an update, but only on startup of the ADB-Overlay. (NO Tasks or something)
Info
The updater will only check my FTP for a ".version" file. This gets downloaded and parsed, if the version is newer as the used one, you'll get an popup which offers the download for the latest version. (NO logs and NO telemetry!)
The Auto-Update is by default disabled.
28.05.2019 [0.0.0.5]
(A) The "APK Manager" to the Android -> Tools menu
(A) {<-} & {->} buttons to the addressbar
(A) The "Install" option to the remote explorer -> ListViewItem context menu (only shown if the item is a apk)
(R) Added the missing options to the APK Installer (e.g. Downgrade, Test-Package, etc.)
(R) Optimized the "symlink" parsing
01.05.2019 [0.0.0.4]
(F) An exception which was raised after you tried to open any "Tool" on an disconnected device.
(A) A Battery Monitor to the Android -> Tools menu
29.04.2019 [0.0.0.3]
(A) Remote-Viewer when booted in the recovery
(A) A screenshot format selector (bmp | gif | jpg | png | tiff | wmp) to the Remote-Desktop
(A) A color correction switch to the Remote-Desktop
(A) Links to the German forum post
20.04.2019 [0.0.0.2]
(F) An issue during item renaming - Reason was maybe the switch from .NET 4 to .NET 4.6, seems the UI updates on textboxes are no longer only on focus got/lost, instead they are now after any change.
(A) Contextmenu (Listview) -> New -> Text Document
(A) Replacements for "New Directory", "Group (New)", "Server (New)" to the german language, so you get now after such an action the correct "Neuer Ordner", "Neue Gruppe", "Neuer Server".
(C) The FTP Copy/Delete action, you can now close the control connection and leave only those windows open until they are done. Both, the Copy and Delete action using now their own connection which is no longer bound to the control connection.
(C) Moved the "Keep Alive" checkbox (FTP -> Servermanager -> Account) to FTP -> Servermanager -> Connection
13.04.2019 [0.0.0.1]
Initial release
Great job. my huawei mate 10 lite is recognized. currently my smartphone is on rom original stock rne - l21c432b340 emui 8.0 not rooted. and my PC is a windows 7 64.
Works for my Xperia X - and thanks for your help!
I'm flattered to be in your contacts screenshot I was still using your prototype you had sent to me years ago!
Works very well on my Pixel 4!
squabbi said:
I'm flattered to be in your contacts screenshot I was still using your prototype you had sent to me years ago!
Works very well on my Pixel 4!
Click to expand...
Click to collapse
Hey Bro
long time not seen. Hehe yeah the good old Multi-Explorer ;p - Still using it my self, it's more or less my playground before i implement things in this tool.
If you want and have some spare time we can modify this beauty. I also reworked nearly the whole AndroidCtrl.dll, there you have now solid filestreams, strongly typed FilesystemInfos (Like the one from the .NET fw) and lots of other handy stuff. Like framebuffer access in Android and recovery mode. I also implemented a ADBridge class which is an instanced wrapper for the 2 static ADB classes (binary/socket).
Best Regards,
Sebastian
this is what im looking for a while
Thank you very much
here is some suggestion
1.better ui
2.edit build prop in the realtime
btw my phone is Huawei P9(eva-al10) rooted android 8.0 work very well
k1ll3r8e said:
Hey Bro
long time not seen. Hehe yeah the good old Multi-Explorer ;p - Still using it my self, it's more or less my playground before i implement things in this tool.
If you want and have some spare time we can modify this beauty. I also reworked nearly the whole AndroidCtrl.dll, there you have now solid filestreams, strongly typed FilesystemInfos (Like the one from the .NET fw) and lots of other handy stuff. Like framebuffer access in Android and recovery mode. I also implemented a ADBridge class which is an instanced wrapper for the 2 static ADB classes (binary/socket).
Best Regards,
Sebastian
Click to expand...
Click to collapse
Sounds great! I'm looking to get back into toolkit making later this year, I'm keen to see the improvments to your library! :good:
Great job. we can navigate and copy files efficiently.
Only one thing is missing. Why not keep file timestamp for last access and modifie dates? or let us choose the option to keep it or not.
skyrail01 said:
Great job. we can navigate and copy files efficiently.
Only one thing is missing. Why not keep file timestamp for last access and modifie dates? or let us choose the option to keep it or not.
Click to expand...
Click to collapse
Heyho,
which Android version are you using and on which action (pull/push) does the timestamps get lost?
Normally i preserve the timestamps but on some Android versions the "timestamp" field in the ADB-Protocol is ignored.
Maybe i can set the timestamps on an other way, but therefore i need to know the version.
Regards,
Sebastian
PS:
Some code where i set the timestamps
Upload
Code:
public void Close(DateTime fileCreationTime)
{
if (_ch?.IsConnected ?? false)
{
if (CanWrite)
{
int o = 0, w;
byte[] d = new byte[8];
d.SetUInt32LE((UInt32)SyncCmd.DONE, 0);
d.SetUInt32LE(ToUnixTime(fileCreationTime), 4);
//...
}
_ch.Close();
}
}
Download
Code:
//...
using (FileStream dfs = destination.Open(FileMode.Create, FileAccess.Write))
{
using (AFileStream sfs = OpenRead())
{
sfs.CopyTo(dfs, DMAX, msg, cancellationToken);
ct = sfs.CreationTime;
}
}
//...
if (msg.State == TransferState.Done)
{
destination.CreationTime = ct;
transferEventHandler?.Invoke(Client.ID, new FileTransferEventArgs(Client.ID, msg));
return true;
}
//...
Thank you really great program keep it up
Hey,
I am operating under lineageOS 16 on Galaxy S5 (klte), using adb 1.0.39 on windows 10 64-bits, either via wifi or usb connect.
I check file dates under Windows, in console mode with far manager (M: last write time, C: creation time, A: last access time).
I am using linux command ls -l under adb shell from Windows command line to list files pushed to Android.
When pushing files from Windows to Android, only M is preserved, with a 2 hours offset (ES file explorer tells it is modified date) Maybe daylight issue or bad timezone.
When pulling files from Android, only C is preserved
When I pull back to Windows, files pushed to Android, all original date is lost.
But I am pretty sure we can preserve last access, modified and creation date as I could see Adbexplorer (another project) pull files keeping M and A (adb pull -a).
Hope I give you enough details.
k1ll3r8e said:
Heyho,
which Android version are you using and on which action (pull/push) does the timestamps get lost?
Normally i preserve the timestamps but on some Android versions the "timestamp" field in the ADB-Protocol is ignored.
Maybe i can set the timestamps on an other way, but therefore i need to know the version.
Regards,
Sebastian
PS:
Some code where i set the timestamps
Upload
Code:
public void Close(DateTime fileCreationTime)
{
if (_ch?.IsConnected ?? false)
{
if (CanWrite)
{
int o = 0, w;
byte[] d = new byte[8];
d.SetUInt32LE((UInt32)SyncCmd.DONE, 0);
d.SetUInt32LE(ToUnixTime(fileCreationTime), 4);
//...
}
_ch.Close();
}
}
Download
Code:
//...
using (FileStream dfs = destination.Open(FileMode.Create, FileAccess.Write))
{
using (AFileStream sfs = OpenRead())
{
sfs.CopyTo(dfs, DMAX, msg, cancellationToken);
ct = sfs.CreationTime;
}
}
//...
if (msg.State == TransferState.Done)
{
destination.CreationTime = ct;
transferEventHandler?.Invoke(Client.ID, new FileTransferEventArgs(Client.ID, msg));
return true;
}
//...
Click to expand...
Click to collapse
skyrail01 said:
Hey,
I am operating under lineageOS 16 on Galaxy S5 (klte), using adb 1.0.39 on windows 10 64-bits, either via wifi or usb connect.
I check file dates under Windows, in console mode with far manager (M: last write time, C: creation time, A: last access time).
I am using linux command ls -l under adb shell from Windows command line to list files pushed to Android.
When pushing files from Windows to Android, only M is preserved, with a 2 hours offset (ES file explorer tells it is modified date) Maybe daylight issue or bad timezone.
When pulling files from Android, only C is preserved
When I pull back to Windows, files pushed to Android, all original date is lost.
But I am pretty sure we can preserve last access, modified and creation date as I could see Adbexplorer (another project) pull files keeping M and A (adb pull -a).
Hope I give you enough details.
Click to expand...
Click to collapse
Heyho,
THX for that info, i'll check the "adbd" source which LOS uses, maybe there is the prob. According to "adb pull -a" i'll also have a look at the adb source, because i think they do some "touch" stuff. Because the ADB-Protocol it self only supports creation/last modified time. In the source is a another "struct" for "STA2" (stat 2) command. But i have never seen a adb binary which supports this. (All binaries use the "STAT" command.)
EDIT 1:
Just checked the adb source again, seems they changed it a bit...
(This is the current STAT (v1) header)
Code:
# cmd name STAT or STA2 // 4 bytes
st->st_mode = msg.stat_v1.mode; // 4 bytes
st->st_size = msg.stat_v1.size; // 4 bytes
st->st_ctime = msg.stat_v1.mtime; // 4 bytes
st->st_mtime = msg.stat_v1.mtime; // 4 bytes
My HTC-One M9, Sensation, VM-Ware (Kitkat - Nougat) none of them has a 20 byte header. ALL of them return a 16 byte header.
Code:
CMD // 4 bytes
Mode // 4 bytes
Size // 4 bytes
CTime // 4 bytes
So it seems the protocol is highly inconsistent... I'll check how much time gets lost by calling touch on each file, because, currently i open a sync channel via an smart-socket, transfer the file and read all data provided by the protocol header. This is really fast, but if i have to spin up each time another channel to get a shell for the touch, this will increase the time each copy needs. Because, a shell depending on the version (v1, v2), has a lot checks you need to perform, specially the shell_v2 because it's like a ssh protocol.
EDIT 2:
Just for completeness, i'm pretty sure your device also sends only a 16 byte header for the stat v1 command, because:
(This is a cut of my implemented "Stat(byte[] bytes)" class)
Code:
if (c == (uint)SyncCmd.STA2 && bytes.Length >= 72)
{
ID = SyncCmd.STA2;
Error = bytes.GetUInt32LE(4);
Dev = bytes.GetUInt64LE(8);
INode = bytes.GetUInt64LE(16);
Mode = bytes.GetUInt32LE(24);
NLink = bytes.GetUInt32LE(28);
UID = bytes.GetUInt32LE(32);
GID = bytes.GetUInt32LE(36);
Size = bytes.GetUInt64LE(40);
ATime = bytes.GetInt64LE(48);
MTime = bytes.GetInt64LE(56);
CTime = bytes.GetInt64LE(64);
}
else if (c == (uint)SyncCmd.STAT && bytes.Length == 16)
{
ID = SyncCmd.STAT;
Mode = bytes.GetUInt32LE(4);
Size = bytes.GetUInt32LE(8);
CTime = bytes.GetUInt32LE(12);
}
As you can see, the both structures differ in there field order, if your device would send a 20 byte header, the test (bytes.Length == 16) wouldn't match. And you couldn't download a file.
EDIT 3:
After playing a while with "stat" and "touch" on some Android versions, i decided to rely on those functions. The next build should restore and write the correct timestamps.
EDIT 4:
Well, setting timestamps on the SD-Card doesn't work, also, setting timestamps on the "internal" SD-Card doesn't work either. Seems that it's related to the underlying FS. If i try to set the timestamp on an ext4 partition, it works. So it doesn't make sense to rewrite the push/pull functions because the return of touch for 99% of the time will be "touch: '/sdcard/TWRP/test.pdf': Operation not permitted". So it's simply a time waste during the copy procedure. BUT, i'll implement it at least for the download, so u'll get the correct timestamps on Windows.
EDIT 5:
Added a screenshot of the new "Properties Window" which also proves that the download timestamps are now correct.
(Btw. C doesn't mean created - it means changed)
Code:
stat /sdcard
File: `/sdcard' -> `/storage/self/primary'
Size: 21 Blocks: 0 IO Blocks: 512 symbolic link
Device: 1h/1d Inode: 4432 Links: 1
Access: (777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 1970-01-01 01:00:00.000000000
Modify: 1970-01-01 01:00:00.000000000
Change: 1970-01-01 01:00:00.360063176
Little update about the "creation time". After a bit research i found this post on Stack Exchange, there is explained that the so called "birth time" is stored since ext4 as part of the INode field. But it seems you need a special version of "stat" to read this info, it's called "statx". But so far i could see, Android doesn't support this feature, maybe some kernel does but it seems that it's more the rare case.
Regards,
Sebastian
Thanks for the update!
I was wondering what could be causing a small delay in copying files over, once the progress finishes, the transfer dialog remains frozen for a 1-2 seconds. I'm copying over a photo, so around 2MB.
squabbi said:
Thanks for the update!
I was wondering what could be causing a small delay in copying files over, once the progress finishes, the transfer dialog remains frozen for a 1-2 seconds. I'm copying over a photo, so around 2MB.
Click to expand...
Click to collapse
Heyho ,
yup i still working on it. It seems that the "Task.Delay()" isn't performed inside the Task itself, instead it's executed on the main thread. The reason for the freeze is, that i try to show the last result, otherwise the copy window would close immediately after the last element and you couldn't see if it's transferred or not. So i keep it like windows, wait 1,5-2,5 sec before closing the window.
The delay you might feel extremely is the "Media-Scanner". It runs on the end of each copy/delete action, the reason for this is, that files pushed/copied by adb are not reported to the MTP interface. So you couldn't see those files if you connect your device after such an adb copy via MTP. Also files/folders deleted by adb are also not reported to the MTP interface. So you will see those elements via MTP if you don't perform manually the "Media-Scanner" lookup. - But if you work only with adb for example, you could turn the "Media-Scanner" off. All device based explorers and of course adb will see those files/folders at any times. (But if you need those files/folders for exchange you should keep the "Media-Scanner" on )
EDIT:
This is executed for every file which is copied/pushed/deleted.
Code:
_adb.Device.Manager.ActivityManager.Broadcast("android.intent.action.MEDIA_SCANNER_SCAN_FILE", "-a", string.Concat("-d 'file://", remotePath, "' > /dev/null"));
EDIT 2 (a bit off-topic):
You could also simply use the "Media-Scanner" with my AndroidCtrl.dll. The calls are:
Code:
//"_adb" is a instance of "ADBClient"
_adb.Device.IO.MediaScanner.CreateScanList(string remoteDirectory, MediaScanMode mode);
_adb.Device.IO.MediaScanner.CreateScanList(string remoteDirectory, MediaScanMode mode, CancellationToken cancellationToken);
_adb.Device.IO.MediaScanner.CreateScanList(string remoteDirectory, IList<string> files, MediaScanMode mode, CancellationToken cancellationToken);
_adb.Device.IO.MediaScanner.ScanDirectory(string remotePath, MediaScanMode mode);
_adb.Device.IO.MediaScanner.ScanDirectory(string remotePath, MediaScanMode mode, CancellationToken cancellationToken);
_adb.Device.IO.MediaScanner.ScanDirectory(IEnumerable<string> remotePaths, MediaScanMode mode);
_adb.Device.IO.MediaScanner.ScanDirectory(IEnumerable<string> remotePaths, MediaScanMode mode, CancellationToken cancellationToken);
_adb.Device.IO.MediaScanner.ScanFile(string remotePath, MediaScanMode mode);
_adb.Device.IO.MediaScanner.ScanFile(IEnumerable<string> remotePaths, MediaScanMode mode);
_adb.Device.IO.MediaScanner.ScanFile(IEnumerable<string> remotePaths, MediaScanMode mode, CancellationToken cancellationToken);
_adb.Device.IO.MediaScanner.ScanObject(ITransferMessage message, MediaScanMode mode);
EDIT 3:
Found the bad boy, seems "Task.Delay()" only works when used in "async" context. Now the "freeze" is gone, you can move the window until it vanishes. So, in the next update those "freezes" are gone.
---
Little Update:
@squabbi
The next update includes a little editor as suggested by @reynard1. A screenshot can be found as attachment.
Regards,
Sebastian
k1ll3r8e said:
**snip**
EDIT 3:
Found the bad boy, seems "Task.Delay()" only works when used in "async" context. Now the "freeze" is gone, you can move the window until it vanishes. So, in the next update those "freezes" are gone.
---
Little Update:
@squabbi
The next update includes a little editor as suggested by @reynard1. A screenshot can be found as attachment.
Regards,
Sebastian
Click to expand...
Click to collapse
Woohoo! Thanks for digging into it! I'm glad you found the culprit haha.
Looking forward to that editor feature! Do you know if it's possible to integrate with Windows Explorer? It's probably a little harder, but something like how WinSCP can drag files from the remote to a local Explorer window.
If that's a little difficult, would this be possible to implement? If I drag and drop a folder/file onto the local pane, it will change directory (and highlight the file if a file was dragged onto the local pane). Just to make it easier to work with folders I have already open.
Still using Windows 7?
squabbi said:
Woohoo! Thanks for digging into it! I'm glad you found the culprit haha.
Looking forward to that editor feature! Do you know if it's possible to integrate with Windows Explorer? It's probably a little harder, but something like how WinSCP can drag files from the remote to a local Explorer window.
If that's a little difficult, would this be possible to implement? If I drag and drop a folder/file onto the local pane, it will change directory (and highlight the file if a file was dragged onto the local pane). Just to make it easier to work with folders I have already open.
Still using Windows 7?
Click to expand...
Click to collapse
Heyho
Yes its definatly possible, we need to use the so called "VirtualFileDataObject". I tried to implement it some time ago, but doesn't worked as expected. But i'll give it another try.
-
Yup, i still use Win 7 as my main system, but i have some VMs running, like my Debian server which serves the documentation and some test sites for my php projects, a few Android x86 Versions and of course a legit Win10 installation to test If everything works.
*Never change a running system! - Currently my main hdd has a uptime of 2689 days with 216 restarts, i think that tells a lot *
---
Little Update:
As the screenshot shows, the editor is working fine so far. (Added also a few more controls.) The only problem i still have is, that if ADB doesn't run as root you can't edit for example the "build.prop". Because ADB can't write the file directly back, so i need to build a kind of "tmp" file. The next problem will be, that you (the user) have to remount the mount point, before you start editing those "root" and "write protected" files. There is also a problem with "binary" files, because the "RichTextBox" screws up when it gets "binary to ASCII/UTF8" transformed data, which ends in an app freeze... So i have to check on some way if the stream contains really text-data, the file extension doesn't help here much because, you know, linux uses also a lot of txt files without any extension.
Update 2:
Just got the "binary" files running... With a super BIG drawback, 248 kb (4069 rows) text results in 269,364 mb memory utilization by the "RichTextBox". - The prob here is, that the ADB filestream doesn't support seek, so i need to load the whole doc in one, which is quiet to much for the "RichTextBox"...
Update 3:
Soo, i wrote a kind of paging for the "RichTextBox" which works so far really nice, at least when it comes to the memory (even during scrolling, with free running wheel, only 15 - 27 mb increase), there is now a fixed amount of rows (40) which will be shown, all other rows are hidden from the "RichTextBox". This opens a few new issues^^ - Currently there is no selection possible which goes beyond the 40 rows. Also insert and delete are a little challenge because, i need to "overwrite" the default behavior with the some "PreviewKeyDown/etc." events... - Looks all a bit hacky, but lets see if it works in the end.
Update 4:
Well, the "RichTextBox" is out of the race^^ - It triggers events more or less random instead when you expect it, it removes blank lines (for example you have 3x "\n", this gets wrapped to 1x "\n") and the best, you remove "\r" during stream reading and the RTB adds it again, also random (some paragraphs get an "\r" some not). Editing text in a solid way without losing something isn't possible with this thing... So i'll try the "TextBox".
Last Update before release:
So, after testing the "RichTextBox" and "TextBox" i ask myself why those controls are there^^. Both can't edit text with more than a few hundert lines, the "TextBox" is at least much better as the "RichTextBox" but it also screws up when i comes to more as 250 kb text. So the "Editor" will be one of your installed applications. I add a little tool window, which offers the temporary download to the windows temp folder, after that i launch the windows "OpenAs" dialog that you can choose the editor you want. Also, i'll attach a "FileSystemWatcher" to the file that the upload automatically happens when you press save in your editor.
Little Info:
It take a few more days for the "edit" update, because i started also to implement the TAP pattern, this increased for example the download speed by factor 6. But to implement it the right way, i have to rewrite a lot of code in the AndroidCtrl.dll and AndroidCtrlUI.dll.
Regards,
Sebastian
k1ll3r8e said:
Heyho
Yes its definatly possible, we need to use the so called "VirtualFileDataObject". I tried to implement it some time ago, but doesn't worked as expected. But i'll give it another try.
-
Yup, i still use Win 7 as my main system, but i have some VMs running, like my Debian server which serves the documentation and some test sites for my php projects, a few Android x86 Versions and of course a legit Win10 installation to test If everything works.
*Never change a running system! - Currently my main hdd has a uptime of 2689 days with 216 restarts, i think that tells a lot *
** snip **
Click to expand...
Click to collapse
That'll be great to see haha, and that does make sense keeping your system as is, if it works, it works.
Thanks for your hard work in checking out what's best for the new edit function. Maybe there's a library out there that can implement a text viewer better? I'm not familiar with WPF libraries, or how many there are.
squabbi said:
That'll be great to see haha, and that does make sense keeping your system as is, if it works, it works.
Thanks for your hard work in checking out what's best for the new edit function. Maybe there's a library out there that can implement a text viewer better? I'm not familiar with WPF libraries, or how many there are.
Click to expand...
Click to collapse
Heyho,
i have had a look on Avalon Texteditor but on StackOverflow is also a discussion about how to open a file bigger than 20 mb. It seems WPF is not that great for such things. I found also another one, written by a lonely dev like me , but it's not maintained since 7 years. So the best way might be, open a installed App which is well designed for that purpose.
A bit off-topic
I nearly finished the TAP implementation for the AndroidCtrl.dll, so far it brought a great speed increase. Also, it consumes less CPU time, for example the remote desktop uses only 3-7% on an Intel I5 with 32 GB memory (but up to 36% on an single-core Intel Pentium M with 1,5 Ghz and 1 GB memory - my old well working Laptop, also with Win7 ). So you might be happy to see all the new "real async" overloads in the lib. (I implemented all from scratch, so there is NO Task.Run() or Task.StartNew() in those functions.)
Edit:
Soo, after a few horrible days, the TAP pattern is now fully integrated! But there is still a little issue with the Remote-Desktop recovery viewer. It seems that everything got a speed boost except the recovery viewer, the viewer is currently nearly 4x slower as before... After i fixed this last problem, i'll release the new asynchronous version.
Regards,
Sebastian