Water damage on the Nexus 5X - Nexus 5X Q&A, Help & Troubleshooting
Hi, after some hours in heavy rain my water proof pocket was filled with 4cm of rain and my phone started swimming. Unfortunately my reflexes turned the phone on and I saw the screen flashing up normally up to some point when it went off again. Back home I opened the device and dried everything. I saw some corrosion next to one chip (I think it was the ST Microelectronics STM32F411CE 32-bit 100 MHz ARM Cortex-M4 RISC microcontroller) and the sim card holder. I cleaned that with a soft toothbrush and after one day assembled the phone and added usb power and turned it on - no charging light went on, no vibration was happening, the screen stayed black.
So I went to buy some Isopropylalcohol and covered all disassebled parts of the phone in it, cleaned it, let it dry, assembled it and tried again. Same no-response.
I repeated this procedure 3 times by now and even tried it with a new battery. Still no success.
Now I wonder what my options are:
1) trying to repair the phone somehow.
2) rescuing only the data from the emmc.
1: I already explained what I was trying. I also have a multimeter and probably am going to follow the trace of electric flow tomorrow, hopefully finding that one diode that is broken now.
What else can I do. Do you have any suggestions?
2: I have seen the amazing work of changing the emmc by using a heatgut. Nice hack to remove bga circuits. I just wonder: Do the data survice such a hot process?
Right now I tend to think about unsoldering the emmc and trying to find a reader for emmcs to read out my data (Easy JTAG or something). This is a fun way where I definitively will learn a lot because I have no experience in this field. I dont know the tools, their names, nor the caveats.
Any feedback appreciated.
Thanks,
codingdave
I left the phone parts in Isopropyl alcohol over night again. This time 12 hours instead of only 1h. Apart from much glue that completely stopped functioning I had a success after drying it for another 10hours and then turning it on: The phone vibrated and the charging light started up!!!!! Even gnome tried to monunt a "Nexus 5X" - yeah! But the mount failed.
Then I smelled something strange and turned the battery out, realizing that something close to the Qualcomm QCA6174 802.11ac Wi-Fi 2x2 MIMO Combo SoC was very hot. For now the phone doesnt want to turn on again. Here is the log. Anyone able to get a clue? Any ideas? Any hints? Thanks in advance, codingdave.
kernel: [ 376.170596] usb 3-2: new high-speed USB device number 4 using xhci_hcd
kernel: [ 376.299663] usb 3-2: New USB device found, idVendor=18d1, idProduct=4ee1
kernel: [ 376.299676] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: [ 376.299683] usb 3-2: Product: Nexus 5X
kernel: [ 376.299693] usb 3-2: Manufacturer: LGE
kernel: [ 376.299700] usb 3-2: SerialNumber: 00e8b8b0edf1a463
gcorg.gtk.vfs.Daemon[4252]: PTP: reading event an error 0x02ff occurredDevice 0 (VID=18d1 and PID=4ee1) is a Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP).
gcorg.gtk.vfs.GPhoto2VolumeMonitor[4252]: (process:4330): GVFS-GPhoto2-WARNING **: device (null) has no BUSNUM property, ignoring
gcorg.gtk.vfs.Daemon[4252]: PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
gcorg.gtk.vfs.Daemon[4252]: LIBMTP libusb: Attempt to reset device
kernel: [ 436.960021] usb 3-2: reset high-speed USB device number 4 using xhci_hcd
kernel: [ 437.256039] usb 3-2: reset high-speed USB device number 4 using xhci_hcd
gcorg.gtk.vfs.Daemon[4252]: Error 1: Get Storage information failed.
gcorg.gtk.vfs.Daemon[4252]: ** (process:4557): WARNING **: send_done_cb: Keine derartige Schnittstelle »org.gtk.vfs.Enumerator« des Objekts im Pfad /org/gtk/vfs/client/enumerator/2 (g-dbus-error-quark, 19)
gcorg.gtk.vfs.Daemon[4252]: ** (process:5125): WARNING **: Couldn't create directory monitor on smb://x-gnome-default-workgroup/. Error: Vorgang wird vom Backend nicht unterstützt
gcorg.gtk.vfs.Daemon[4252]: ** (process:5136): WARNING **: Couldn't create directory monitor on smb://x-gnome-default-workgroup/. Error: Vorgang wird vom Backend nicht unterstützt
gcorg.gtk.vfs.Daemon[4252]: ** (process:5139): WARNING **: Couldn't create directory monitor on smb://x-gnome-default-workgroup/. Error: Vorgang wird vom Backend nicht unterstützt
gcorg.gtk.vfs.Daemon[4252]: ** (process:5151): WARNING **: Couldn't create directory monitor on smb://x-gnome-default-workgroup/. Error: Vorgang wird vom Backend nicht unterstützt
gcorg.gtk.vfs.Daemon[4252]: ** (process:5154): WARNING **: Couldn't create directory monitor on smb://x-gnome-default-workgroup/. Error: Vorgang wird vom Backend nicht unterstützt
gcorg.gtk.vfs.Daemon[4252]: ** (process:5125): WARNING **: Couldn't create directory monitor on smb://x-gnome-default-workgroup/. Error: Vorgang wird vom Backend nicht unterstützt
gcorg.gtk.vfs.Daemon[4252]: Android device detected, assigning default bug flags
gcorg.gtk.vfs.Daemon[4252]: Received event PTP_EC_DevicePropChanged in session 1
gcorg.gtk.vfs.Daemon[4252]: Received event PTP_EC_DevicePropChanged in session 1
gcorg.gtk.vfs.Daemon[4252]: Received event PTP_EC_ObjectRemoved in session 1
gcorg.gtk.vfs.Daemon[4252]: Received unknown event in session 1
gcorg.gtk.vfs.Daemon[4252]: message repeated 6 times: [ Received unknown event in session 1]
gcorg.gtk.vfs.Daemon[4252]: Received event PTP_EC_ObjectAdded in session 1
gcorg.gtk.vfs.Daemon[4252]: Received event PTP_EC_ObjectAdded in session 1
gcorg.gtk.vfs.Daemon[4252]: Received unknown event in session 1
gcorg.gtk.vfs.Daemon[4252]: message repeated 3 times: [ Received unknown event in session 1]
gcorg.gtk.vfs.Daemon[4252]: Received event PTP_EC_ObjectAdded in session 1
gcorg.gtk.vfs.Daemon[4252]: Received unknown event in session 1
gcorg.gtk.vfs.Daemon[4252]: message repeated 4 times: [ Received unknown event in session 1]
gcorg.gtk.vfs.Daemon[4252]: Received event PTP_EC_ObjectAdded in session 1
gcorg.gtk.vfs.Daemon[4252]: Received unknown event in session 1
gcorg.gtk.vfs.Daemon[4252]: message repeated 6 times: [ Received unknown event in session 1]
gcorg.gtk.vfs.Daemon[4252]: Received event PTP_EC_ObjectAdded in session 1
gcorg.gtk.vfs.Daemon[4252]: Received unknown event in session 1
gcorg.gtk.vfs.Daemon[4252]: message repeated 8 times: [ Received unknown event in session 1]
gcorg.gtk.vfs.Daemon[4252]: Received event PTP_EC_ObjectRemoved in session 1
gcorg.gtk.vfs.Daemon[4252]: message repeated 2 times: [ Received event PTP_EC_ObjectRemoved in session 1]
gcorg.gtk.vfs.Daemon[4252]: USB low-level info:
gcorg.gtk.vfs.Daemon[4252]: bcdUSB: 512
gcorg.gtk.vfs.Daemon[4252]: bDeviceClass: 0
gcorg.gtk.vfs.Daemon[4252]: bDeviceSubClass: 0
gcorg.gtk.vfs.Daemon[4252]: bDeviceProtocol: 0
gcorg.gtk.vfs.Daemon[4252]: idVendor: 18d1
gcorg.gtk.vfs.Daemon[4252]: idProduct: 4ee1
gcorg.gtk.vfs.Daemon[4252]: IN endpoint maxpacket: 512 bytes
gcorg.gtk.vfs.Daemon[4252]: OUT endpoint maxpacket: 512 bytes
gcorg.gtk.vfs.Daemon[4252]: Raw device info:
gcorg.gtk.vfs.Daemon[4252]: Bus location: 3
gcorg.gtk.vfs.Daemon[4252]: Device number: 4
gcorg.gtk.vfs.Daemon[4252]: Device entry info:
gcorg.gtk.vfs.Daemon[4252]: Vendor: Google Inc (for LG Electronics/Samsung)
gcorg.gtk.vfs.Daemon[4252]: Vendor id: 0x18d1
gcorg.gtk.vfs.Daemon[4252]: Product: Nexus 4/5/7/10 (MTP)
gcorg.gtk.vfs.Daemon[4252]: Vendor id: 0x4ee1
gcorg.gtk.vfs.Daemon[4252]: Device flags: 0x18008106
gcorg.gtk.vfs.Daemon[4252]: Configuration 0, interface 0, altsetting 0:
gcorg.gtk.vfs.Daemon[4252]: Interface description contains the string "MTP"
gcorg.gtk.vfs.Daemon[4252]: Device recognized as MTP, no further probing.
gcorg.gtk.vfs.Daemon[4252]: Device info:
gcorg.gtk.vfs.Daemon[4252]: Manufacturer: LGE
gcorg.gtk.vfs.Daemon[4252]: Model: Nexus 5X
gcorg.gtk.vfs.Daemon[4252]: Device version: 1.0
gcorg.gtk.vfs.Daemon[4252]: Serial number: 00e8b8b0edf1a463
gcorg.gtk.vfs.Daemon[4252]: Vendor extension ID: 0x00000006
gcorg.gtk.vfs.Daemon[4252]: Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
gcorg.gtk.vfs.Daemon[4252]: Detected object size: 64 bits
gcorg.gtk.vfs.Daemon[4252]: Extensions:
gcorg.gtk.vfs.Daemon[4252]: microsoft.com: 1.0
gcorg.gtk.vfs.Daemon[4252]: android.com: 1.0
gcorg.gtk.vfs.Daemon[4252]: Supported operations:
gcorg.gtk.vfs.Daemon[4252]: 1001: get device info
gcorg.gtk.vfs.Daemon[4252]: 1002: Open session
gcorg.gtk.vfs.Daemon[4252]: 1003: Close session
gcorg.gtk.vfs.Daemon[4252]: 1004: Get storage IDs
gcorg.gtk.vfs.Daemon[4252]: 1005: Get storage info
gcorg.gtk.vfs.Daemon[4252]: 1006: Get number of objects
gcorg.gtk.vfs.Daemon[4252]: 1007: Get object handles
gcorg.gtk.vfs.Daemon[4252]: 1008: Get object info
gcorg.gtk.vfs.Daemon[4252]: 1009: Get object
gcorg.gtk.vfs.Daemon[4252]: 100a: Get thumbnail
gcorg.gtk.vfs.Daemon[4252]: 100b: Delete object
gcorg.gtk.vfs.Daemon[4252]: 100c: Send object info
gcorg.gtk.vfs.Daemon[4252]: 100d: Send object
gcorg.gtk.vfs.Daemon[4252]: 1014: Get device property description
gcorg.gtk.vfs.Daemon[4252]: 1015: Get device property value
gcorg.gtk.vfs.Daemon[4252]: 1016: Set device property value
gcorg.gtk.vfs.Daemon[4252]: 1017: Reset device property value
gcorg.gtk.vfs.Daemon[4252]: 101b: Get partial object
gcorg.gtk.vfs.Daemon[4252]: 9801: Get object properties supported
gcorg.gtk.vfs.Daemon[4252]: 9802: Get object property description
gcorg.gtk.vfs.Daemon[4252]: 9803: Get object property value
gcorg.gtk.vfs.Daemon[4252]: 9804: Set object property value
gcorg.gtk.vfs.Daemon[4252]: 9805: Get object property list
gcorg.gtk.vfs.Daemon[4252]: 9810: Get object references
gcorg.gtk.vfs.Daemon[4252]: 9811: Set object references
gcorg.gtk.vfs.Daemon[4252]: 95c1: Get Partial Object (64bit Offset)
gcorg.gtk.vfs.Daemon[4252]: 95c2: Send Partial Object
gcorg.gtk.vfs.Daemon[4252]: 95c3: Truncate Object
gcorg.gtk.vfs.Daemon[4252]: 95c4: Begin Edit Object
gcorg.gtk.vfs.Daemon[4252]: 95c5: End Edit Object
gcorg.gtk.vfs.Daemon[4252]: Events supported:
gcorg.gtk.vfs.Daemon[4252]: 0x4002
gcorg.gtk.vfs.Daemon[4252]: 0x4003
gcorg.gtk.vfs.Daemon[4252]: 0x4004
gcorg.gtk.vfs.Daemon[4252]: 0x4005
gcorg.gtk.vfs.Daemon[4252]: 0x4006
gcorg.gtk.vfs.Daemon[4252]: 0xc801
gcorg.gtk.vfs.Daemon[4252]: Device Properties Supported:
gcorg.gtk.vfs.Daemon[4252]: 0xd401: Synchronization Partner
gcorg.gtk.vfs.Daemon[4252]: 0xd402: Friendly Device Name
gcorg.gtk.vfs.Daemon[4252]: 0x5003: Image Size
gcorg.gtk.vfs.Daemon[4252]: 0x5001: Battery Level
gcorg.gtk.vfs.Daemon[4252]: Playable File (Object) Types and Object Properties Supported:
gcorg.gtk.vfs.Daemon[4252]: 3000: Undefined Type
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 3001: Association/Directory
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 3004: Text
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 3005: HTML
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 3008: MS Wave
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc46: Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9a: Album Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9b: Album Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc8c: Genre STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc96: Composer STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de92: Bit Rate Type UINT16 data type enumeration: 1, 2, READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9, READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 3009: MP3
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc46: Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9a: Album Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9b: Album Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc8c: Genre STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc96: Composer STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de92: Bit Rate Type UINT16 data type enumeration: 1, 2, READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9, READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 300b: MPEG
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc46: Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9a: Album Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc48: Description STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 3801: JPEG
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc48: Description STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 3802: TIFF EP
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 3804: BMP
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc48: Description STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 3807: GIF
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc48: Description STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 3808: JFIF
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 380b: PNG
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc48: Description STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: 380d: TIFF
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: b901: WMA
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc46: Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9a: Album Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9b: Album Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc8c: Genre STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc96: Composer STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de92: Bit Rate Type UINT16 data type enumeration: 1, 2, READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9, READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
gcorg.gtk.vfs.Daemon[4252]: b902: OGG
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc46: Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9a: Album Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9b: Album Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc8c: Genre STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc96: Composer STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de92: Bit Rate Type UINT16 data type enumeration: 1, 2, READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9, READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
gcorg.gtk.vfs.Daemon[4252]: b903: AAC
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc46: Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9a: Album Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9b: Album Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc8c: Genre STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc96: Composer STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de92: Bit Rate Type UINT16 data type enumeration: 1, 2, READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9, READ ONLY
gcorg.gtk.vfs.Daemon[4252]: de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
gcorg.gtk.vfs.Daemon[4252]: b982: MP4
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: b983: MP2
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: b984: 3GP
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc46: Artist STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc9a: Album Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc48: Description STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: ba05: Abstract Audio Video Playlist
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: ba10: WPL Playlist
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcsmartd[2864]: Device: /dev/sda [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 59 to 62
[ 1832.868901] usb 3-2: USB disconnect, device number 4
gcCRON[5281]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: ba11: M3U Playlist
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: ba14: PLS Playlist
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: ba82: XMLDocument
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: b906: FLAC
gcorg.gtk.vfs.Daemon[4252]: dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc04: Object Size UINT64 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc07: Object File Name STRING data type GET/SET
gcorg.gtk.vfs.Daemon[4252]: dc09: Date Modified STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc44: Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dce0: Display Name STRING data type READ ONLY
gcorg.gtk.vfs.Daemon[4252]: dc4e: Date Added STRING data type DATETIME FORM READ ONLY
gcorg.gtk.vfs.Daemon[4252]: Special directories:
gcorg.gtk.vfs.Daemon[4252]: Default music folder: 0xffffffff
gcorg.gtk.vfs.Daemon[4252]: Default playlist folder: 0xffffffff
gcorg.gtk.vfs.Daemon[4252]: Default picture folder: 0xffffffff
gcorg.gtk.vfs.Daemon[4252]: Default video folder: 0xffffffff
gcorg.gtk.vfs.Daemon[4252]: Default organizer folder: 0xffffffff
gcorg.gtk.vfs.Daemon[4252]: Default zencast folder: 0xffffffff
gcorg.gtk.vfs.Daemon[4252]: Default album folder: 0xffffffff
gcorg.gtk.vfs.Daemon[4252]: Default text folder: 0xffffffff
gcorg.gtk.vfs.Daemon[4252]: Received event PTP_EC_ObjectAdded in session 1
kernel: [ 1847.995049] usb 3-2: new high-speed USB device number 5 using xhci_hcd
kernel: [ 1848.124331] usb 3-2: New USB device found, idVendor=18d1, idProduct=4ee1
kernel: [ 1848.124344] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: [ 1848.124350] usb 3-2: Product: Nexus 5X
kernel: [ 1848.124354] usb 3-2: Manufacturer: LGE
kernel: [ 1848.124359] usb 3-2: SerialNumber: 00e8b8b0edf1a463
gcorg.gtk.vfs.Daemon[4252]: PTP: reading event an error 0x02ff occurredDevice 0 (VID=18d1 and PID=4ee1) is a Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP).
gcorg.gtk.vfs.Daemon[4252]: Error 1: Get Storage information failed.
gcorg.gtk.vfs.GPhoto2VolumeMonitor[4252]: (process:4330): GVFS-GPhoto2-WARNING **: device (null) has no BUSNUM property, ignoring
kernel: [ 1867.970202] usb 3-2: USB disconnect, device number 5
gcorg.gtk.vfs.Daemon[4252]: Android device detected, assigning default bug flags
okay, it goes on again. But mounting still does not work and something is getting terribly hot and smelly...
WTF - after a long weekend without the phone I was able to get a response:
The board only connected to battery and usb. The usb is connected to a linux machine.
I turned on the phone using the POWER + VOL DOWN button.
sudo fastbood devices gave a positive reply!!
I was hoping to get an adb shell/usb file mounting from TWRP recovery and hoping to get there I typed sudo fastboot reboot-bootloader. This however did not work. Now I tried to boot it directly with sudo fastboot boot twrp-3.0.2-0-bullhead.img and yes, I get a adb shell! I can access my data. Everything looks very promising by now!!!
So given the fact that data access works via adb and fastboot but the display is still black how high do you see my chances to make the phone work again?
Cheers,
codingdave
maybe you should have a blog about this.
Related
Dev question, one who knows regex
Can this be accomplished below? I have all the .png and fonts, but not the regex know how etc... From my experience most emoticons (emoji) do not use a font, but are rather bitmap graphics (e.g. emoticons in the default Android text editor). There are several downsides to using a font: •Suppose you made the characters a, b, c, d etc into emoticons - the user would then be unable to read/send messages with those characters in without them turning to emoticons. •Fonts are generally quite large as they contain a lot of information for displaying the text at different sizes/styles Using bitmap graphics will allow you to easily use the same emoticons across a wide range of devices, whilst using standard device fonts the text around the emoticons. You will have to parse the string that you are displaying, find the emoticons, and replace them with images. On Android for instance you would accomplish this with: 1.Search the string for all emoticon occurences (regex can do this easily enough) 2.Replace all emoticons with the string <img src="emoticon.png" /> (althugh change emoticon.png based on the type of emoticon) 3.Convert the String to HTML with String myHtmlString = Html.fromHtml(myEmoticonString, myImageGetter, null); 4.Display the string in a TextView myTextView.setText(myHtmlString) In step 3 myImageGetter needs to be an instance of Html.ImageGetter which returns a graphic (drawable) based on the src attribute of the images in the string (ie it converts a string file name to an actual graphic) The steps on other platforms would be different but you should be able to use the same basic method (parse string, replace emoticons with images). Any help or direction would be appreciated, I would do what I can if I had direction. Thanks in advance!
10 little chars
How make HELLO WORLD on the WM6.1 ???
Who can write Step by Step instruction by C++/VisualStudio 2008 ? for writing Hello World apps And simple actions of work with forms???
You can start here...http://www.hitmill.com/programming/cpp/helloWorld.htm Remember a search engine is your friend. Hope that I have help you.
In C++ you have the choice of WIN 32, ATL and MFC programming models. They are all different. If you are using standard windows forms items ie buttons, editboxes, dropdowns etc. C# is a LOT easier.
stephj said: If you are using standard windows forms items ie buttons, editboxes, dropdowns etc. C# is a LOT easier. Click to expand... Click to collapse It is indeed much easier for "Hello World" type applications. For more complicated things, poor performance and lack of direct access to the native API begins to add up. The original poster probably has some specific problem, the solution to which he hopes to find in a step-by-step tutorial. If he still has not been able to solve it, it might help to describe it to us.
O.K........ Over the next few posts, (Rome wasn't built in a day!), this will build into a step by step tutorial in how to create a basic WIN32 application. As a start we will use the C# .Net solution I wrote in reply to this post: http://forum.xda-developers.com/showthread.php?t=1435629 The original request was for an application that calculates the check digit for an intermodal container number. For the uninitiated, intermodal containers are the ubiquitous 20ft and 40ft metal boxes that dominate the shipping industry. All containers have an eleven digit serial number of the form: ABCD 123456 7 Where ABC is the code for the container's owner, and D is the Category Identifier, almost always a 'U'. 123456 is the serial number of the box and the final number '7' is the checksum digit which is calculated from the previous 10 characters. When keying in container numbers into computer systems etc, it can be used to quickly check whether the container number is valid before further processing is done. The same thing applies to the last digit of your credit card number, it is calculated from the previous 15 numbers. Container numbers conform to ISO6346 and more can be read here http://en.wikipedia.org/wiki/ISO_6346 We will build a WIN32 C++ Mobile 6 application to calculate the check digit from those given in a text box on the screen. Validation will be minimal, if the user enters anything but characters of the form AAAA999999 in the textbox, nothing appears in the check digit box. When valid, the checkdigit magically appears. You will need:- Visual Studio Professional 2008, not the express version, and an installed Windows Mobile 6.0 SDK The Express version of VS cannot target mobile devices. VS 2003/5 can also be used, as well as earlier or later versions of the SDK, but you will encounter slight differences in VS or the SDK, that you will have to fight your way through yourself. The finished application will look something like the attached image. Under Win32, there is no drag and drop toolbox, all controls have to be created from scratch. All good fun, so roll up your sleeves, break out the birch twigs and let the self-flagellation begin.......
Right!.....Let's go............ From VS2008 select File -> New -> Project Select C++, Smart Device and Win32 Smart Device Project. Select the destination for the project and name it IS06346. See image 01. Click OK On the Platforms submenu of the next screen add the Windows Mobile 6.0 SDK to the project and remove the others. See image 02 ........and, on the 'Application Settings' submenu, make sure the Windows Application radio button is on, and all others are off. See image 03 Click Finish. The VS wizard will create all the basic files we need under the directory given above. In fact, pressing F5 should build this project and run it in the emulator. The application does very little at this stage, nothing to be precise, but it should work........... See 04 The main program is ISO3486.cpp This shell program is some 250 lines of code, most of it is needed for a "do nothing" program, but it boils down into five main functions. WinMain() The entry point of the program, where the operating system will call it on initial load. Leave it alone. InitInstance() Called immediately by WinMain and where the program creates its initial window etc. We will add a few bits of extra initialization here. MyRegisterClass() Called by InitInstance to register the window class, just before the initial window is created. Leave it alone unless you really know what you are doing. WndProc() The message processing loop for the main/parent window. Any windows event will be fired at this function as a Windows Message, it is up to us to process the ones we need. A few variables will go in here. All the original WM2003 "Hello World" program did, in the EVC based SDK, was to intercept the WM_PAINT message, find the client area of the screen, and draw the text "Hello World" in the middle of it. About() The message processing loop for the About dialog box. We will be quite happy with the default action so we'll leave it alone. To Do: 1.) Add reference to <string.h> 2.) Create two text boxes and display them. Limit the entry to 10 characters on the main edit box and disable input on the second check digit box. 3) Draw an "Enter container number:" text label above the edit boxes in response to the WM_PAINT message. The edit boxes will draw themselves when required. 4.) Intercept the EN_CHANGE message from the main edit box. If the length of the text in the box is 10 characters long, uppercase it, and if it is valid, generate the checksum and display it in the checksum box, otherwise clear the checksum box. Replace the textbox text with its uppercase value, but do not respond the the EN_CHANGE message generated by this change, as this will trigger an infinite shower of EN_CHANGE messages. When this is done, we will have a working application. To be continued.....................
Next........... Let’s work our way down the TODO: list above. 1.) Add reference to “string.h”: Later on we are going to use a call to towupper() to convert the input into uppercase. It is defined in string.h, so we have to add this to the source file. At the top of the ISO6346.CPP after the line Code: #include "ISO6346.h" Add the line: Code: #include "string.h" 2.) Create two text boxes and display them...... We will create two windows as text boxes, but we will save their handles as global variables as they are referenced from more than one function. While we are at it we also need a global Boolean variable to prevent the uppercased replacement from causing the runaway reaction mentioned above. After: Code: HINSTANCE g_hInst; // current instance HWND g_hWndMenuBar; // menu bar handle Add: Code: HWND g_hWndText,g_hWndCheck; bool g_Updating; Now let’s create the text edit boxes. You may already know this, or this may be an eye opener, but all edit controls are actually windows in their own right, albeit that they are child windows of the main form. In InitInstance() after: Code: if (!hWnd) { return FALSE; } add: Code: g_hWndText= CreateWindow(TEXT("EDIT"),NULL,WS_CHILD | WS_BORDER,40,50,110,20,hWnd,NULL,hInstance,NULL); g_hWndCheck=CreateWindow(TEXT("EDIT"),NULL,WS_CHILD | WS_BORDER, 160,50,20,20,hWnd,NULL,hInstance,NULL); This creates the text edit boxes. As yet they won’t be displayed, but we have to tweak them first. We want to disable the checkdigit box, so that the user cannot type anything into it as we will set it with the correct value when a valid container number is entered in the text box. We will disable it by calling the EnableWindow() function. We also need to set the size of the text edit window to 10 characters. Under MFC and .NET this is a hoot, as it already a property of the edit control object, which has been conveniently wrappered for us, and we can just set that property. Here in the world of Win32, it is not quite so simple. We have to fire an EM_SETLIMITTEXT message at the window, to tell it that that is what we want. While we are at it, let's set the global g_Updating variable to be false, ready for use later, and here is as good a place as any to do it. After the CreateWindow() lines we have just added, add the next three lines to do the above. Code: SendMessage(g_hWndText,EM_SETLIMITTEXT,10,0); EnableWindow(g_hWndCheck,false); g_Updating=false; Now the windows exist as we want them, all we have to do is display them. At the bottom of the InitInstance() function after Code: ShowWindow(hWnd, nCmdShow); add Code: ShowWindow(g_hWndText, nCmdShow); ShowWindow(g_hWndCheck, nCmdShow); The main window will now look after them and control them as required. Marvellous! 3) Draw an "Enter container number:" text label............ Now we need a label above the two boxes to tell the user to type a valid container number number into the text box. From the resource view of the project, open the String Table folder in ISO6346ppc.rc then open the String Table object. Click in the blank entry at the bottom and change the ID to IDS_ENTER and the Caption to "Enter container number:" Don't worry about the what the value is, if it is not '3', as the IDE will take care of it. To get it drawn on the form, we will have to add it to the WM_PAINT event of the main window. We'll need a RECT structure to describe where we want the text to go, a buffer to store the string and while we are here let's add the function variables we are going to need later. At the top of the WndProc() function: After: Code: int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; add Code: TCHAR c,szBuffer[MAX_LOADSTRING]; RECT rt; int i,j,k; bool valid; i,j and k are general variables for calculating the check digit. szBuffer is used to hold the "Enter container number:" string in WM_PAINT, and also for the contents of the edit box when it changes. As these two events will not occur at the same time, we can get away with it having a dual personality. Variable 'c' is used to read the string one character at a time and 'valid' is set to false if the the container number is not in the correct format. Replace the TODO: line in the WM_PAINT handler Code: // TODO: Add any drawing code here... with: Code: rt.top=20; rt.bottom=40; rt.left=40; rt.right=180; LoadString(g_hInst,IDS_ENTER,szBuffer,MAX_LOADSTRING); DrawText(hdc,szBuffer,wcslen(szBuffer),&rt,0); Now when the form is drawn, the label will appear in the right place. 4.) Intercept the EN_CHANGE message from the main edit box.......... There is no easy way to do the next bit step-by-step, so we will just do it, I'll explain later......... Replace the standard code for the response to the WM_COMMAND message: Code: case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_HELP_ABOUT: DialogBox(g_hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, About); break; case IDM_OK: SendMessage (hWnd, WM_CLOSE, 0, 0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; with this: Code: case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_HELP_ABOUT: DialogBox(g_hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); break; case IDOK: SendMessage (hWnd, WM_CLOSE, 0, 0); break; } switch (wmEvent) { case EN_CHANGE: if(g_hWndText == (HWND) lParam && !g_Updating) { GetWindowText(g_hWndText, szBuffer,MAX_LOADSTRING); if(wcslen(szBuffer)==10) { k=0; valid=true; for(i=0; i<10; i++) { c=szBuffer[i]=towupper(szBuffer[i]); if((i<4 && (c<'A' || c>'Z')) || (i>3 && (c<'0' || c>'9'))) valid = false; j=int(c); if (j > 64 && j < 91) k += ((j - 55) + (j - 56) / 10) << i; else k += (j - 48) << i; } if(valid) { // Calculate final check digit k = ((k % 11) % 10); // Do not process the following update g_Updating = true; SetWindowText(g_hWndText,szBuffer); g_Updating = false; // Set check window to correct value szBuffer[0]='0'+k; szBuffer[1]='\0'; SetWindowText(g_hWndCheck,szBuffer); // Position cursor at end of edit field. SendMessage(g_hWndText,EM_SETSEL,10,10); } else SetWindowText(g_hWndCheck,TEXT("")); } else SetWindowText(g_hWndCheck,TEXT("")); } break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; When the text edit box contents are changed, a EN_CHANGE message arrives at the parent window. It appears as a WM_COMMAND message with the wmEvent parameter containing the EN_CHANGE identifier, together with the handle of the window that generated the message. That is why the second 'switch' code exists to trap the EN_CHANGE event message. If the EN_CHANGE message came from the Text edit window, not the Checksum window, then get the text within it. If the length is 10 characters long, then process the string. The variable k is used as a running total for the checksum. If after processing all 10 characters, the string is still valid, it is converted modulo 11 and then modulo 10 into the final checksum number. The checksum edit box is then updated with this value. The contents of the Edit box are replaced with its uppercase value. In doing so, we will cause another EN_CHANGE message to be sent to the parent window, which would cause this function to be executed again, and so on and so forth, causing an infinite shower of messages. To prevent this, we set the global variable g_Updating to true before making the change, and then setting it to false immediately afterwards. The test in the first line of the EN_CHANGE processing code, does not execute at all if g_Updating is true, thereby preventing this problem. Build the final program, and test it in the emulator. Switch the build to 'Release' and the target to Windows Mobile Device, and run the executable on your device. The complete ISO6346.cpp file is included in the attached zip file. Here endeth the lesson........... As a continuation, we will build the whole thing again from scratch, but next time using the Microsoft Foundation Class, MFC. Watch this space..................
Don Reba said: It is indeed much easier for "Hello World" type applications. For more complicated things, poor performance and lack of direct access to the native API begins to add up. Click to expand... Click to collapse I totally agree with this! And worst thing is you can neither use a resource hacker tool nor a dependency walker tool, if you want to inspect a .NET CF application.
Using MFC...... From VS2008 as before select File->New->Project then select Visual C++, Smart Device, and MFC Smart Device Application. Name it ISO6346 as before, and click OK. See image 01 On the platforms submenu select the Windows Mobile 6.0 SDK as before. See image 02 On the Application Type submenu, select the "Dialog Based" and "Use MFC in a static Library" radio buttons. See Image 03 By default the application comes with two dialog boxes for portrait and landscape but in our case this is complete overkill. We will get rid of the Landscape (Wide) dialog box. In the Dialog folder of the resource view of ISO6346ppc.rc, delete the IDD_ISO6346_DIALOG_WIDE entry. See image 04. To get this past the compiler, we will have to tidy it up a bit. In ISO6346Dlg.cpp delete the following sections of code. Code: #if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP) void CISO6346Dlg::OnSize(UINT /*nType*/, int /*cx*/, int /*cy*/) { if (AfxIsDRAEnabled()) { DRA::RelayoutDialog( AfxGetResourceHandle(), this->m_hWnd, DRA::GetDisplayMode() != DRA::Portrait ? MAKEINTRESOURCE(IDD_ISO6346_DIALOG_WIDE) : MAKEINTRESOURCE(IDD_ISO6346_DIALOG)); } } #endif and also: Code: #if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP) ON_WM_SIZE() #endif Double Click in the IDD_ISO6346_DIALOG entry to open it up in the main window. Click on the "TODO: Place dialog controls here" label and change its caption to "Enter container number:", and position it near the top of the dialog box. From the Toolbox view, drop two edit controls on to the dialog box, under the above label. See image 05. Right click on the first box and select Add Variable. Name the first box edtText and click Finish. See image 06. Do the same for the second box and name it edtCheck. Notice that the wizard has added entries for the DoDataExchange(CDataExchange* pDX) function. In OnInitDialog() after the line Code: // TODO: Add extra initialization here Add: Code: Updating=false; edtText.LimitText(10); edtCheck.SetReadOnly(); Note that an Edit Control has more useful methods to call than the Win32 method above, where setting the text limit of the control has to be done by sending windows messages to it. Right click on the Text Edit Box control and select "Add event handler..." select the EN_CHANGE message, take the default event handler function name, and click the "Add and Edit" button. See image 07 In ISO6346Dlg.h notice that the wizard has added the two edit boxes at the bottom of the file, and also added the message map thus: Code: public: CEdit edtText; CEdit edtCheck; afx_msg void OnEnChangeEdit1(); In the //Implementation section of the same file after Code: HICON m_hIcon; add: Code: bool Updating; This will be used as before to prevent an infinite cascade of messages. In the OnChangeEdit1() function add the following code: Code: int i,j,k; wchar_t c; bool valid; CString strText,strCheck; if(!Updating) { if(edtText.LineLength(0)==10) { edtText.GetLine(0,strText.GetBuffer(10),10); strText.ReleaseBuffer(-1); strText.MakeUpper(); k=0; valid = true; // Check the contents are of the form ABCD123456 for(i=0; i<10; i++) { c=strText.GetAt(i); j=int(c); if((i<4 && (c<'A' || c>'Z')) || (i>3 && (c<'0' || c>'9'))) valid = false; if (j > 64 && j < 91) k += ((j - 55) + (j - 56) / 10) << i; else k += (j - 48) << i; } if(valid) { // Calculate final check digit k = ((k % 11) % 10); strCheck.GetBufferSetLength(1); strCheck.SetAt(0,'0'+k); strCheck.ReleaseBuffer(-1); edtCheck.SetWindowTextW(strCheck); Updating = true; // Do not process the following update edtText.SetWindowTextW(strText); Updating = false; // Position cursor at end of edit field. edtText.SetSel(10,10,0); } else //Invalid Not ABCD123456 - clear the check digit field edtCheck.SetWindowTextW(TEXT("")); } else // Invalid - Not 10 char long - clear the check digit field edtCheck.SetWindowTextW(TEXT("")); } This time we use CString objects to get/set the contents of the edit controls. Right! That's it. Compile it and run it, either in the emulator or on the device. See image 08. Notice that as this a dialog application, there are no menu buttons. When the [X] button is pressed the program terminates. As another interesting point, compare the sizes of the two release executables. The Win32 version is around 8.5kb, that of the MFC version is around 167kb, both launch pretty damned quickly. Compare that with the . NET C# executable from the original post. That is around 9kb in size, but it takes your device around three seconds to shove it through the JiT compiler in order to able to run it, and that is for only a tiny .NET program.
Hide an NDEF record into the NDEF Message?
I have developped 2 Android applications. The first one, to write into an NFC tag, and the second to read the contents I have written . This is what i did in the first application (WriteNFC) private NdefRecord createRecord1(String data) { byte[] payload = data.getBytes(Charset.forName("UTF-8")); byte[] empty = new byte[] {}; return new NdefRecord(NdefRecord.TNF_ABSOLUTE_URI, empty, empty, payload); } private NdefRecord createRecord2(String data) { byte[] payload = data.getBytes(Charset.forName("UTF-8")); byte[] empty = new byte[] {}; return new NdefRecord(NdefRecord.TNF_ABSOLUTE_URI, payload, empty, empty); } And for in the second application (ReadNFC) NdefRecord cardRecord = msg.getRecords()[1];//Extract the second Record String url_data = new String(cardRecord.getType());//Read data type Result: When I read with my own application (ReadNFC), of course I had on screen only the payload of the second Record, which I stored through "Record Type". But with a third-party application, especially that natively installed ("tag"), It display correctly the first record, and for the second it's an empty field. How can I hide this field. Otherwise, how can I force the other third-party applications to not read the second record?
Making An Instance From A Hidden Class
Hello, I'd like to ask about if it's possible to make a variable from a hidden class, something like this : StatusBarHeaderView mStatusBarHeaderView; StatusBarHeaderView is in SystemUI and i want to make an instance from it, I know the way to hook a hidden class, but how to achieve this ?
Assign it to var of Object type. E.g.: Object sbHeaderView = XposedHelpers.getObjectField(param.thisObject, "mStatusBarHeaderView"); If this class is derived from View class, you can even store it to var ov View type. E.g. View sbHeaderView = (View) XposedHelpers.getObjectField(param.thisObject, "mStatusBarHeaderView");
[Test] Need some registry values
Hi! I wanna run some tests and i need some registry values under HKEY_LOCAL_MACHINE\System\Touch\Buttons What i need is the keys and the values(better if the device is 4.7" or more) Thanks
content of "Buttons" from 950XL "0" key String = Name, Value = Back Integer = VKey, Value = 27 "1" key String = Name, Value = Start Integer = VKey, Value = 113 "2" key String = Name, Value = Search Integer = VKey, Value = 114 Integer = Count, Value = 3 Integer = Duration, Value = 20 Integer = Intensity, Value = 100 Integer = Vibrate, Value = 1
For 640xl., All the values are same...except, Duration(value=41) Intensity(value=99) previously i disabled vibration for navigation keys under touch and gestures settings so, Vibrate(value=0)
dxdy said: content of "Buttons" from 950XL "0" key String = Name, Value = Back Integer = VKey, Value = 27 "1" key String = Name, Value = Start Integer = VKey, Value = 113 "2" key String = Name, Value = Search Integer = VKey, Value = 114 Integer = Count, Value = 3 Integer = Duration, Value = 20 Integer = Intensity, Value = 100 Integer = Vibrate, Value = 1 Click to expand... Click to collapse Sai Chrisna said: For 640xl., All the values are same...except, Duration(value=41) Intensity(value=99) previously i disabled vibration for navigation keys under touch and gestures settings so, Vibrate(value=0) Click to expand... Click to collapse Intensity around 50 saves some battery