Modded SemcCamera / 100% JPeg compression - Sony Ericsson Xperia Neo, Pro

EDIT: After poking around in the driver code and comparing results of different camera apps, the following seems to be fact:
1. The driver only supports picture format JPEG (at least on its external interface). So ALL camera apps will get a jpeg from the driver.
2. The driver is always using 2x2 chroma subsampling (which is the main reason for the "poor"(?) image quality).
3. The quality of the compression can be adjusted by using the standard API call CameraParamter.setJpegQuality(0-100). The driver default seems to be 85.
4. However, after several testshots i can't make out any visual difference between the shots made with standard or 100% compression. Technically the 100% version uses better huffmann and quantation tables but this doesn't seem to effect the visual quality.
5. libmmjpeg.so is used for compression (an undocumented qcom jpeg lib). I had no success so far getting better results from the lib. There are some functions like "jpege_get_default_config" which seem the perfect place for patching, but i was unable to figure out the meaning of the various parameters.
6. libcald*.so is used for picture processing (image stablizing, postprocessing etc), so this would be the place for manipulations of the postprocessing pipeline.
6. Third party camera apps like "camera360", "camera fx", etc are unable to produce better compression results (though they seem to). In fact, f.e. camera360 is using the standard driver jpeg compression when set to 100% and is reencoding(!!) the jpeg when set to anything less then 100% (which means the jpeg is probably bigger after reencoding but will be never be better as the source was already crippled. Reencoding also can add several new compression artifacts.) They still might be able to produce better pictures by chosing better parameters for wb,ev... though.
7. The reason for "camera not found" with the modded apk was the some missing permissions. I already did a new apk which could be installed side-by-side with the standard app (i renamed the package structure), but until i find some way to get more quality from the driver releasing/maintaining it would be pointless. For the same reason i removed the old apk from the post.
Here is the blueprint to do the mod yourself (f.e. for other roms/devices):
Code:
You need apktool, SignApk, zipalign (search via forum).
- Copy system/app/SemcCameraUI.apk to your pc
- Copy system/framework/SemcGenericUxpRes.apk to your pc
- Copy system/framework/framework-res.apk to your pc
- apktool if framework-res.apk
- apktool if SemcGenericUxpRes.apk
- apktool d SemcCameraUI.apk
- find file "CameraController.smali" in extraced folder "SemcCameraUI\smali\com\sonyericsson\android\camera"
- insert these two lines at line 994[2.3.4 stock] (next line after "setRotation")
const/16 v1, 0x64
invoke-virtual {v0, v1}, Landroid/hardware/Camera$Parameters;->setJpegQuality(I)V
- rename the folder camera to cameraX and change all occurences of "com/sonyericsson/android/camera" to "com/sonyericsson/android/cameraX" in all files. Do the same for "com.sonyericcson.android.camera".
- choose a new name for the app (like "Camera 100") and change all references in res/values*/string.xml.
- rename the folder SemcCameraUI to SemcCameraX
- apktool b SemcCameraX
- java -jar SignApk.jar certificate.pem key.pk8 <your new SemcCameraX.apk> signed-SemcCameraX.apk
- zipalign -v 4 signed-SemcCameraX.apk SemcCameraX.apk
- install apk
- transform apk to system app (f.e. using Titanium Backup), otherwise you can't open camera device
APK attached (EDIT: removed)
Example pics:
Stock
JpegSnoopResult:
Code:
JPEGsnoop 1.5.2 by Calvin Hass
http://www.impulseadventure.com/photo/
-------------------------------------
Filename: [C:\Dokumente und Einstellungen\games\Eigene Dateien\Dropbox\privat\telefon\stock.JPG]
Filesize: [832205] Bytes
Start Offset: 0x00000000
*** Marker: SOI (xFFD8) ***
OFFSET: 0x00000000
*** Marker: APP1 (xFFE1) ***
OFFSET: 0x00000002
length = 7612
Identifier = [Exif]
Identifier TIFF = 0x[4D4D002A 00000008]
Endian = Motorola (big)
TAG Mark x002A = 0x002A
EXIF IFD0 @ Absolute 0x00000014
Dir Length = 0x000A
[Make ] = "Sony Ericsson"
[Model ] = "MT15i"
[Orientation ] = Row 0: top, Col 0: left
[XResolution ] = 72/1
[YResolution ] = 72/1
[ResolutionUnit ] = Inch
[Software ] = "4.0.1.A.0.283_2d_f200"
[DateTime ] = "2011:10:18 13:07:41"
[YCbCrPositioning ] = Centered
[ExifOffset ] = @ 0x00D4
Offset to Next IFD = 0x00000270
EXIF IFD1 @ Absolute 0x0000027C
Dir Length = 0x0007
[Compression ] = JPEG
[XResolution ] = 72/1
[YResolution ] = 72/1
[ResolutionUnit ] = Inch
[JpegIFOffset ] = @ +0x02DA = @ 0x02E6
[JpegIFByteCount ] = 6874
Offset to Next IFD = 0x00000000
EXIF SubIFD @ Absolute 0x000000E0
Dir Length = 0x0018
[ExposureTime ] = 10/500 s
[FNumber ] = F2.4
[ISOSpeedRatings ] = 160
[ExifVersion ] = 02.20
[DateTimeOriginal ] = "2011:10:18 13:07:41"
[DateTimeDigitized ] = "2011:10:18 13:07:41"
[ComponentsConfiguration ] = [Y Cb Cr .]
[ShutterSpeedValue ] = 564/100
[ExposureBiasValue ] = 0.00 eV
[MeteringMode ] = CenterWeightedAverage
[LightSource ] = unknown
[Flash ] = Flash did not fire
[FocalLength ] = 4 mm
[FlashPixVersion ] = 01.00
[ColorSpace ] = sRGB
[ExifImageWidth ] = 3264
[ExifImageHeight ] = 2448
[ExifInteroperabilityOffset ] = @ 0x0252
[CustomRendered ] = Normal process
[ExposureMode ] = Auto exposure
[WhiteBalance ] = Auto white balance
[DigitalZoomRatio ] = 100/100
[SceneCaptureType ] = Standard
[SubjectDistanceRange ] = 0
EXIF InteropIFD @ Absolute 0x0000025E
Dir Length = 0x0002
[InteroperabilityIndex ] = "R98"
[InteroperabilityVersion ] = 01.00
*** Marker: DQT (xFFDB) ***
Define a Quantization Table.
OFFSET: 0x00001DC0
Table length = 132
----
Precision=8 bits
Destination ID=0 (Luminance)
DQT, Row #0: 4 3 3 4 6 10 13 16
DQT, Row #1: 3 3 4 5 7 15 16 14
DQT, Row #2: 4 3 4 6 10 15 18 15
DQT, Row #3: 4 4 6 8 13 23 21 16
DQT, Row #4: 5 6 10 15 18 28 27 20
DQT, Row #5: 6 9 14 17 21 27 29 24
DQT, Row #6: 13 17 20 23 27 31 31 26
DQT, Row #7: 19 24 25 25 29 26 27 26
Approx quality factor = 86.93 (scaling=26.13 variance=1.22)
----
Precision=8 bits
Destination ID=1 (Chrominance)
DQT, Row #0: 4 5 6 12 26 26 26 26
DQT, Row #1: 5 5 7 17 26 26 26 26
DQT, Row #2: 6 7 15 26 26 26 26 26
DQT, Row #3: 12 17 26 26 26 26 26 26
DQT, Row #4: 26 26 26 26 26 26 26 26
DQT, Row #5: 26 26 26 26 26 26 26 26
DQT, Row #6: 26 26 26 26 26 26 26 26
DQT, Row #7: 26 26 26 26 26 26 26 26
Approx quality factor = 86.91 (scaling=26.18 variance=0.37)
*** Marker: SOF0 (Baseline DCT) (xFFC0) ***
OFFSET: 0x00001E46
Frame header length = 17
Precision = 8
Number of Lines = 2448
Samples per Line = 3264
Image Size = 3264 x 2448
Raw Image Orientation = Landscape
Number of Img components = 3
Component[1]: ID=0x01, Samp Fac=0x22 (Subsamp 1 x 1), Quant Tbl Sel=0x00 (Lum: Y)
Component[2]: ID=0x02, Samp Fac=0x11 (Subsamp 2 x 2), Quant Tbl Sel=0x01 (Chrom: Cb)
Component[3]: ID=0x03, Samp Fac=0x11 (Subsamp 2 x 2), Quant Tbl Sel=0x01 (Chrom: Cr)
*** Marker: SOS (Start of Scan) (xFFDA) ***
OFFSET: 0x00001FFD
Scan header length = 12
Number of img components = 3
Component[1]: selector=0x01, table=0x00
Component[2]: selector=0x02, table=0x11
Component[3]: selector=0x03, table=0x11
Spectral selection = 0 .. 63
Successive approximation = 0x00
*** Decoding SCAN Data ***
OFFSET: 0x0000200B
Scan Decode Mode: Full IDCT (AC + DC)
Scan Data encountered marker 0xFFD9 @ 0x000CB2CB.0
Compression stats:
Compression Ratio: 29.09:1
Bits per pixel: 0.83:1
Huffman code histogram stats:
Huffman Table: (Dest ID: 0, Class: DC)
# codes of length 01 bits: 0 ( 0%)
# codes of length 02 bits: 18575 ( 15%)
# codes of length 03 bits: 91405 ( 73%)
# codes of length 04 bits: 6690 ( 5%)
# codes of length 05 bits: 5345 ( 4%)
# codes of length 06 bits: 2710 ( 2%)
# codes of length 07 bits: 123 ( 0%)
# codes of length 08 bits: 0 ( 0%)
# codes of length 09 bits: 0 ( 0%)
# codes of length 10 bits: 0 ( 0%)
# codes of length 11 bits: 0 ( 0%)
# codes of length 12 bits: 0 ( 0%)
# codes of length 13 bits: 0 ( 0%)
# codes of length 14 bits: 0 ( 0%)
# codes of length 15 bits: 0 ( 0%)
# codes of length 16 bits: 0 ( 0%)
Huffman Table: (Dest ID: 1, Class: DC)
# codes of length 01 bits: 0 ( 0%)
# codes of length 02 bits: 41476 ( 66%)
# codes of length 03 bits: 9744 ( 16%)
# codes of length 04 bits: 5105 ( 8%)
# codes of length 05 bits: 3621 ( 6%)
# codes of length 06 bits: 1970 ( 3%)
# codes of length 07 bits: 474 ( 1%)
# codes of length 08 bits: 34 ( 0%)
# codes of length 09 bits: 0 ( 0%)
# codes of length 10 bits: 0 ( 0%)
# codes of length 11 bits: 0 ( 0%)
# codes of length 12 bits: 0 ( 0%)
# codes of length 13 bits: 0 ( 0%)
# codes of length 14 bits: 0 ( 0%)
# codes of length 15 bits: 0 ( 0%)
# codes of length 16 bits: 0 ( 0%)
Huffman Table: (Dest ID: 0, Class: AC)
# codes of length 01 bits: 0 ( 0%)
# codes of length 02 bits: 365681 ( 44%)
# codes of length 03 bits: 60853 ( 7%)
# codes of length 04 bits: 247142 ( 30%)
# codes of length 05 bits: 77263 ( 9%)
# codes of length 06 bits: 34012 ( 4%)
# codes of length 07 bits: 28448 ( 3%)
# codes of length 08 bits: 9985 ( 1%)
# codes of length 09 bits: 5945 ( 1%)
# codes of length 10 bits: 2962 ( 0%)
# codes of length 11 bits: 1333 ( 0%)
# codes of length 12 bits: 885 ( 0%)
# codes of length 13 bits: 0 ( 0%)
# codes of length 14 bits: 0 ( 0%)
# codes of length 15 bits: 97 ( 0%)
# codes of length 16 bits: 1252 ( 0%)
Huffman Table: (Dest ID: 1, Class: AC)
# codes of length 01 bits: 0 ( 0%)
# codes of length 02 bits: 161579 ( 51%)
# codes of length 03 bits: 41566 ( 13%)
# codes of length 04 bits: 50669 ( 16%)
# codes of length 05 bits: 34863 ( 11%)
# codes of length 06 bits: 16596 ( 5%)
# codes of length 07 bits: 3241 ( 1%)
# codes of length 08 bits: 5403 ( 2%)
# codes of length 09 bits: 3115 ( 1%)
# codes of length 10 bits: 1497 ( 0%)
# codes of length 11 bits: 603 ( 0%)
# codes of length 12 bits: 120 ( 0%)
# codes of length 13 bits: 0 ( 0%)
# codes of length 14 bits: 239 ( 0%)
# codes of length 15 bits: 117 ( 0%)
# codes of length 16 bits: 245 ( 0%)
YCC clipping in DC:
Y component: [<0= 0] [>255= 0]
Cb component: [<0= 0] [>255= 0]
Cr component: [<0= 0] [>255= 0]
RGB clipping in DC:
R component: [<0= 0] [>255= 0]
G component: [<0= 0] [>255= 0]
B component: [<0= 0] [>255= 0]
Average Pixel Luminance (Y):
Y=[119] (range: 0..255)
Brightest Pixel Search:
YCC=[ 1017, -16, -277] RGB=[205,255,251] @ MCU[ 90, 38]
Finished Decoding SCAN Data
Number of RESTART markers decoded: 0
Next position in scan buffer: Offset 0x000CB2CA.2
*** Marker: EOI (End of Image) (xFFD9) ***
OFFSET: 0x000CB2CB
*** Searching Compression Signatures ***
Signature: 01387A14AF75DC6963F040C1239B7DED
Signature (Rotated): 0196457BE1E9E30F00715A3DDE8B160C
File Offset: 0 bytes
Chroma subsampling: 2x2
EXIF Make/Model: OK [Sony Ericsson] [MT15i]
EXIF Makernotes: NONE
EXIF Software: OK [4.0.1.A.0.283_2d_f200]
Modded
JpegSnoopResult:
Code:
JPEGsnoop 1.5.2 by Calvin Hass
http://www.impulseadventure.com/photo/
-------------------------------------
Filename: [C:\Dokumente und Einstellungen\games\Eigene Dateien\Dropbox\privat\telefon\modded.JPG]
Filesize: [2360386] Bytes
Start Offset: 0x00000000
*** Marker: SOI (xFFD8) ***
OFFSET: 0x00000000
*** Marker: APP1 (xFFE1) ***
OFFSET: 0x00000002
length = 7550
Identifier = [Exif]
Identifier TIFF = 0x[4D4D002A 00000008]
Endian = Motorola (big)
TAG Mark x002A = 0x002A
EXIF IFD0 @ Absolute 0x00000014
Dir Length = 0x000A
[Make ] = "Sony Ericsson"
[Model ] = "MT15i"
[Orientation ] = Row 0: top, Col 0: left
[XResolution ] = 72/1
[YResolution ] = 72/1
[ResolutionUnit ] = Inch
[Software ] = "4.0.1.A.0.283_2d_f200"
[DateTime ] = "2011:10:18 13:03:54"
[YCbCrPositioning ] = Centered
[ExifOffset ] = @ 0x00D4
Offset to Next IFD = 0x00000270
EXIF IFD1 @ Absolute 0x0000027C
Dir Length = 0x0007
[Compression ] = JPEG
[XResolution ] = 72/1
[YResolution ] = 72/1
[ResolutionUnit ] = Inch
[JpegIFOffset ] = @ +0x02DA = @ 0x02E6
[JpegIFByteCount ] = 6812
Offset to Next IFD = 0x00000000
EXIF SubIFD @ Absolute 0x000000E0
Dir Length = 0x0018
[ExposureTime ] = 10/640 s
[FNumber ] = F2.4
[ISOSpeedRatings ] = 200
[ExifVersion ] = 02.20
[DateTimeOriginal ] = "2011:10:18 13:03:54"
[DateTimeDigitized ] = "2011:10:18 13:03:54"
[ComponentsConfiguration ] = [Y Cb Cr .]
[ShutterSpeedValue ] = 600/100
[ExposureBiasValue ] = 0.00 eV
[MeteringMode ] = CenterWeightedAverage
[LightSource ] = unknown
[Flash ] = Flash did not fire
[FocalLength ] = 4 mm
[FlashPixVersion ] = 01.00
[ColorSpace ] = sRGB
[ExifImageWidth ] = 3264
[ExifImageHeight ] = 2448
[ExifInteroperabilityOffset ] = @ 0x0252
[CustomRendered ] = Normal process
[ExposureMode ] = Auto exposure
[WhiteBalance ] = Auto white balance
[DigitalZoomRatio ] = 100/100
[SceneCaptureType ] = Standard
[SubjectDistanceRange ] = 0
EXIF InteropIFD @ Absolute 0x0000025E
Dir Length = 0x0002
[InteroperabilityIndex ] = "R98"
[InteroperabilityVersion ] = 01.00
*** Marker: DQT (xFFDB) ***
Define a Quantization Table.
OFFSET: 0x00001D82
Table length = 132
----
Precision=8 bits
Destination ID=0 (Luminance)
DQT, Row #0: 1 1 1 1 1 2 3 4
DQT, Row #1: 1 1 1 1 2 3 4 3
DQT, Row #2: 1 1 1 1 2 3 4 3
DQT, Row #3: 1 1 1 2 3 5 5 4
DQT, Row #4: 1 1 2 3 4 7 6 5
DQT, Row #5: 1 2 3 4 5 6 7 6
DQT, Row #6: 3 4 5 5 6 7 7 6
DQT, Row #7: 4 6 6 6 7 6 6 6
Approx quality factor = 96.95 (scaling=6.11 variance=1.09)
----
Precision=8 bits
Destination ID=1 (Chrominance)
DQT, Row #0: 1 1 1 3 6 6 6 6
DQT, Row #1: 1 1 2 4 6 6 6 6
DQT, Row #2: 1 2 3 6 6 6 6 6
DQT, Row #3: 3 4 6 6 6 6 6 6
DQT, Row #4: 6 6 6 6 6 6 6 6
DQT, Row #5: 6 6 6 6 6 6 6 6
DQT, Row #6: 6 6 6 6 6 6 6 6
DQT, Row #7: 6 6 6 6 6 6 6 6
Approx quality factor = 96.99 (scaling=6.01 variance=0.24)
*** Marker: SOF0 (Baseline DCT) (xFFC0) ***
OFFSET: 0x00001E08
Frame header length = 17
Precision = 8
Number of Lines = 2448
Samples per Line = 3264
Image Size = 3264 x 2448
Raw Image Orientation = Landscape
Number of Img components = 3
Component[1]: ID=0x01, Samp Fac=0x22 (Subsamp 1 x 1), Quant Tbl Sel=0x00 (Lum: Y)
Component[2]: ID=0x02, Samp Fac=0x11 (Subsamp 2 x 2), Quant Tbl Sel=0x01 (Chrom: Cb)
Component[3]: ID=0x03, Samp Fac=0x11 (Subsamp 2 x 2), Quant Tbl Sel=0x01 (Chrom: Cr)
*** Marker: SOS (Start of Scan) (xFFDA) ***
OFFSET: 0x00001FBF
Scan header length = 12
Number of img components = 3
Component[1]: selector=0x01, table=0x00
Component[2]: selector=0x02, table=0x11
Component[3]: selector=0x03, table=0x11
Spectral selection = 0 .. 63
Successive approximation = 0x00
*** Decoding SCAN Data ***
OFFSET: 0x00001FCD
Scan Decode Mode: Full IDCT (AC + DC)
Scan Data encountered marker 0xFFD9 @ 0x00240440.0
Compression stats:
Compression Ratio: 10.19:1
Bits per pixel: 2.36:1
Huffman code histogram stats:
Huffman Table: (Dest ID: 0, Class: DC)
# codes of length 01 bits: 0 ( 0%)
# codes of length 02 bits: 4567 ( 4%)
# codes of length 03 bits: 87561 ( 70%)
# codes of length 04 bits: 9569 ( 8%)
# codes of length 05 bits: 8150 ( 7%)
# codes of length 06 bits: 6817 ( 5%)
# codes of length 07 bits: 5323 ( 4%)
# codes of length 08 bits: 2671 ( 2%)
# codes of length 09 bits: 190 ( 0%)
# codes of length 10 bits: 0 ( 0%)
# codes of length 11 bits: 0 ( 0%)
# codes of length 12 bits: 0 ( 0%)
# codes of length 13 bits: 0 ( 0%)
# codes of length 14 bits: 0 ( 0%)
# codes of length 15 bits: 0 ( 0%)
# codes of length 16 bits: 0 ( 0%)
Huffman Table: (Dest ID: 1, Class: DC)
# codes of length 01 bits: 0 ( 0%)
# codes of length 02 bits: 16291 ( 26%)
# codes of length 03 bits: 13190 ( 21%)
# codes of length 04 bits: 13075 ( 21%)
# codes of length 05 bits: 8920 ( 14%)
# codes of length 06 bits: 5109 ( 8%)
# codes of length 07 bits: 3357 ( 5%)
# codes of length 08 bits: 1935 ( 3%)
# codes of length 09 bits: 493 ( 1%)
# codes of length 10 bits: 54 ( 0%)
# codes of length 11 bits: 0 ( 0%)
# codes of length 12 bits: 0 ( 0%)
# codes of length 13 bits: 0 ( 0%)
# codes of length 14 bits: 0 ( 0%)
# codes of length 15 bits: 0 ( 0%)
# codes of length 16 bits: 0 ( 0%)
Huffman Table: (Dest ID: 0, Class: AC)
# codes of length 01 bits: 0 ( 0%)
# codes of length 02 bits: 1073745 ( 47%)
# codes of length 03 bits: 202328 ( 9%)
# codes of length 04 bits: 473414 ( 21%)
# codes of length 05 bits: 235823 ( 10%)
# codes of length 06 bits: 102316 ( 4%)
# codes of length 07 bits: 91894 ( 4%)
# codes of length 08 bits: 43153 ( 2%)
# codes of length 09 bits: 29245 ( 1%)
# codes of length 10 bits: 16204 ( 1%)
# codes of length 11 bits: 6722 ( 0%)
# codes of length 12 bits: 879 ( 0%)
# codes of length 13 bits: 0 ( 0%)
# codes of length 14 bits: 0 ( 0%)
# codes of length 15 bits: 82 ( 0%)
# codes of length 16 bits: 5813 ( 0%)
Huffman Table: (Dest ID: 1, Class: AC)
# codes of length 01 bits: 0 ( 0%)
# codes of length 02 bits: 335655 ( 34%)
# codes of length 03 bits: 167892 ( 17%)
# codes of length 04 bits: 200170 ( 20%)
# codes of length 05 bits: 149402 ( 15%)
# codes of length 06 bits: 63901 ( 7%)
# codes of length 07 bits: 16446 ( 2%)
# codes of length 08 bits: 21831 ( 2%)
# codes of length 09 bits: 14265 ( 1%)
# codes of length 10 bits: 4147 ( 0%)
# codes of length 11 bits: 2228 ( 0%)
# codes of length 12 bits: 271 ( 0%)
# codes of length 13 bits: 0 ( 0%)
# codes of length 14 bits: 881 ( 0%)
# codes of length 15 bits: 689 ( 0%)
# codes of length 16 bits: 744 ( 0%)
YCC clipping in DC:
Y component: [<0= 0] [>255= 0]
Cb component: [<0= 0] [>255= 0]
Cr component: [<0= 0] [>255= 0]
RGB clipping in DC:
R component: [<0= 0] [>255= 0]
G component: [<0= 0] [>255= 0]
B component: [<0= 0] [>255= 0]
Average Pixel Luminance (Y):
Y=[120] (range: 0..255)
Brightest Pixel Search:
YCC=[ 1010, 44, -290] RGB=[202,255,255] @ MCU[ 92, 37]
Finished Decoding SCAN Data
Number of RESTART markers decoded: 0
Next position in scan buffer: Offset 0x00240440.0
*** Marker: EOI (End of Image) (xFFD9) ***
OFFSET: 0x00240440
*** Searching Compression Signatures ***
Signature: 010564D93F295ADB889B91604DC82EE1
Signature (Rotated): 014302FE54745F4DBB58A0D51CDC66BD
File Offset: 0 bytes
Chroma subsampling: 2x2
EXIF Make/Model: OK [Sony Ericsson] [MT15i]
EXIF Makernotes: NONE
EXIF Software: OK [4.0.1.A.0.283_2d_f200]
For me it seems that image quality is slightly improved (less compression artifacts). But there is still some big limitation as the driver seems to use 2x2 chroma subsampling (see http://wwwimpulseadventurecom/photo/chroma-subsampling.html for technical details). I will have to write a little tool to see if the driver is capable of other formats...
Frank

Reserved...
If you like the mod i can do a 2.3.3 version and/or try a 2.3.4 to 2.3.3 backport (but i will need someone for testing as i don't want to change my rom).

Nice. I hope to be able to test it tomorrow.
Sent from my Mt15i using Opera Mobile.

not working on my Neo 2.3.4. say camera not available. I set permissions writhe.

not work on my neo 2.3.4 , i have set permissions.
{
"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"
}

also not working
(the same as MaxMedia)

I suppose that you need to give a framework's apk and a semccameraUI apk too
Sent from my Xperiã ÑeØ using XDA app
Donate to my paypal acc. if I helped you & if u can't, atleast hit the thanx button

Hmm, thats strange.
Lets verify a few things:
- you have a Neo (not Neo V) on stock 2.3.4 GENERIC (fs WORLD-1-8_4.0.1.A.0.283), rooted
- Camera was not running (task stopped)
- you did replace /system/app/SemcCameraUI.apk
- permissions are rw-r--r--, filesize 1.881.049, owner system, group sdcard_rw
Now, regarding the error:
- Were you able to start the camera app? Is the app not found(old shortcuts will not work) or is the error coming from the app ?
You can try to run(install) the apk after it is installed. I did this accidently a few times so i am not sure if this is neccesarry to get it to work. If the app is not finding the camera(driver) is think something is not correctly initialized.
If it's still not working you might try doing the mod yourself (see blueprint).

here it does not work, too...
btw. isnt 90% or 95% enough ? what is the default ?
i dont need 4mb pics . 1,5mb instead of 0.7mb would be fine ;o)

inteks said:
here it does not work, too...
btw. isnt 90% or 95% enough ? what is the default ?
i dont need 4mb pics . 1,5mb instead of 0.7mb would be fine ;o)
Click to expand...
Click to collapse
You've got an 8 GB card free for that i suppose
Sent from my Xperiã ÑeØ using XDA app
Donate to my paypal acc. if I helped you & if u can't, atleast hit the thanx button

frank_harmann said:
Hmm, thats strange.
Lets verify a few things:
- you have a Neo (not Neo V) on stock 2.3.4 GENERIC (fs WORLD-1-8_4.0.1.A.0.283), rooted
- Camera was not running (task stopped)
- you did replace /system/app/SemcCameraUI.apk
- permissions are rw-r--r--, filesize 1.881.049, owner system, group sdcard_rw
Now, regarding the error:
- Were you able to start the camera app? Is the app not found(old shortcuts will not work) or is the error coming from the app ?
You can try to run(install) the apk after it is installed. I did this accidently a few times so i am not sure if this is neccesarry to get it to work. If the app is not finding the camera(driver) is think something is not correctly initialized.
If it's still not working you might try doing the mod yourself (see blueprint).
Click to expand...
Click to collapse
For the verification step, i did evrything-Verified
Error is- camera not available and 3rd step about reinstalling, I'll do that when I'll be free and then give feedback
Sent from my Xperiã ÑeØ using XDA app
Donate to my paypal acc. if I helped you & if u can't, atleast hit the thanx button

inteks said:
here it does not work, too...
btw. isnt 90% or 95% enough ? what is the default ?
i dont need 4mb pics . 1,5mb instead of 0.7mb would be fine ;o)
Click to expand...
Click to collapse
I totally agree, I'd say go with 90 or even 85, it reduces size a lot and it almost doesn't affect the quality, at least it is what most picture software does in the pc.
We could compare.
I don't know what settings had done Sony, I see to much noise and poor detail in my pictures, but I suspect they could be better.

frank_harmann said:
Stock
Modded
Click to expand...
Click to collapse
It's hard to notice actual visual improvements in your sample pic since even the stock settings took a really good picture. Perhaps try taking a pic of something where the stock app doesn't do as well (something further away than a mostly macro shot) and then take a modded shot and see if it's any better.

nexus2515 said:
You've got an 8 GB card free for that i suppose
Sent from my Xperiã ÑeØ using XDA app
Donate to my paypal acc. if I helped you & if u can't, atleast hit the thanx button
Click to expand...
Click to collapse
if have 32gb card in my phone but i've till now more than 1000 photos
my picturebackup at home with all pics is allready more then 20gb (only pics!!)
pls dont waste space if it doesnt improve quality ;o)

SCHUMI_4EVER said:
It's hard to notice actual visual improvements in your sample pic since even the stock settings took a really good picture. Perhaps try taking a pic of something where the stock app doesn't do as well (something further away than a mostly macro shot) and then take a modded shot and see if it's any better.
Click to expand...
Click to collapse
You mean, leave the house
Well, as i am interested to see if this really improves anything i will try to do some shots outside using stock, modded and Camera360.
Btw, if anyone has a max quality photo from Camera360, Camera Zoom FX or Vignette taken with the Neo/Arc i would like to run it through JpegSnoop in order to see if these have different chroma subsampling.
Regarding the compression i could easily make versions with different settings(or try to make it configurable, which is a bit tricky only having smali code).
Regarding the installation problem i am not sure where the error is. If anyone would be willing to do the easy blueprint steps on there own(not using the provided apk) this might enlighten me
EDIT: Please try to wipe the camera settings. This might solve the problem. (Settings->Applications->Manage Applications->All->Camera->Delete Data)

Ok, i just wrote a small test program to see what formats are supported by the driver.
Bad luck: only JPEG is supported (default compression is 85%)
This means in order to get rid of the 2x2 chroma subsampling the driver itself has to be modded (its even possible that the code is in firmware or limited by hardware jpeg compression).
So at the moment the best i can archieve at apk-level is setting the compression level up to 100%.
Btw, does anybody know which are the driver files for the cam?

wiping data does not help.
i tryed to do the mod for myself and got the same error ?!?
btw the codeline was on mine at 999 and not at 994 .....
im on 2.3.4 stock

Chaotic behaviour is difficult to reproduce
However, just hold on a bit, i am currently deeper in the rabbit hole and trying to mod the camdrive itself (atleast i already figured out places of the quantation and diffie huffman tables and that the driver can either use the dsp chip for hw-jpeg compression or fall back to sw-jpeg compression.) I will have to poke around a bit after i reanimated my phone (got a bootloop by a wrong change to the system files Well, at least i now can switch to doomkernel while in the process of fixing...)

Well, if you are playing with the driver, can't you edit night mode? Current exposure time is 1sec, which is short... It should be longer, at least 10sec...

vignette sample
frank_harmann said:
You mean, leave the house
Well, as i am interested to see if this really improves anything i will try to do some shots outside using stock, modded and Camera360.
Btw, if anyone has a max quality photo from Camera360, Camera Zoom FX or Vignette taken with the Neo/Arc i would like to run it through JpegSnoop in order to see if these have different chroma subsampling.
Regarding the compression i could easily make versions with different settings(or try to make it configurable, which is a bit tricky only having smali code).
Regarding the installation problem i am not sure where the error is. If anyone would be willing to do the easy blueprint steps on there own(not using the provided apk) this might enlighten me
EDIT: Please try to wipe the camera settings. This might solve the problem. (Settings->Applications->Manage Applications->All->Camera->Delete Data)
Click to expand...
Click to collapse
here comes the vignette sample from my neoView attachment 2011-10-22-17-34-22-154.zip

Related

[Q] Need help in changing FS type for int. and ext. SD on MTK6589

Hello, all!
Trying to customize my new device (Runbo X6: MTK6589T, 2GB RAM, 32GB ROM, Android 4.2.1) I discovered some problems and hope for some help her.
1) Repartitioning
Actually, I successfully edited the partition table in EBR1 and EBR2 and the start addresses in the Scatter file and proofed it multipple times by recalculating, but after flashing, although I get a correct output in system settings and by dumping /proc/emmc, /proc/partitions and /proc/dumchar_info, when I try to push some apps, for ex., above the initial 680MB to /system/app or something similar I get a "disk is full" message. As I was able to find out only the /data and /fat partitions get physically updated by the new sizes, meanwhile the /system and /cache partitions remain physically on the initial state and get updated by the new sizes logical only. Although if after flashing I dump the system image by "cat /dev/block/mmcblk0p5 > /sdcard/system.img" I get an image with a size corresponding to the updated size of the partition.
Initial values:
EBR1
begin /system = 00 18 02 00 (real 00 02 18 00)= 137216 blocks (* 512 bytes + 1024 blocks of 512 bytes) = 70778880 bytes
size /system = 00 50 14 00 (real 00 14 50 00) = 1331200 blocks (* 512 bytes) = 681574400 bytes
begin /cache = 00 68 16 00 = 1468416 blocks = 752353280 bytes
size /cache = 00 F0 03 00 = 258048 blocks = 132120576 bytes
begin /data = 00 58 1A 00 = 1726464 blocks = 884473856 bytes
size /data = 00 00 40 00 = 4194304 blocks = 2147483648 bytes
EBR2
begin /fat = 00 94 58 00 = 5805056 blocks = 2972712960 bytes
size /fat = FF A7 A5 FF = 4289046527 blocks = 2195991821824 bytes
Scatter
ANDROID = 0x4980000 = 77070336 bytes (- 12 * 1024 blocks of 512 bytes; I don't know why even 12, perhaps you can explain...) = 70778880 bytes
CACHE = 0x2d380000 = 758644736 bytes = 752353280 bytes
USRDATA = 0x35180000 = 890765312 bytes = 884473856 bytes
__NODL_FAT = 0xb5180000 = 3038248960 bytes = 3031957504 bytes
My values:
EBR1
begin /system = 00 18 02 00 (real 00 02 18 00)= 137216 blocks = 70778880 bytes
size /system = 00 40 51 00 (real 00 40 51 00) = 5324800 blocks = 2726297600 bytes
begin /cache = 00 58 53 00 = 5462016 blocks = 2797076480 bytes
size /cache = 00 D0 0B 00 = 774144 blocks = 396361728 bytes
begin /data = 00 28 5F 00 = 6236160 blocks = 3193438208 bytes
size /data = 00 00 A0 00 = 10485760 blocks = 5368709120 bytes
EBR2
begin /fat = 00 64 FD 00 = 16606208 blocks = 8502902784 bytes
size /fat = FF 00 D7 FF = 4278245375 blocks = 2190461632000 bytes
Scatter
ANDROID = 0x4980000 = 77070336 bytes = 70778880 bytes
CACHE = 0xa7180000 = 2803367936 bytes = 2797076480 bytes
USRDATA = 0xbeb80000 = 3199729664 bytes = 3193438208 bytes
__NODL_FAT = 0x1feb80000 = 8568438784 bytes = 8502902784 bytes
cat /proc/emmc output
android start = 00 02 00 1c , android size = 00 51 40 00
cache start = 00 53 5c 00 , cache size = 00 00 0b d0
data start = 00 00 5f 2c , data size = 00 a0 00 00
fat start = 00 00 ff 2c , fat size 02 00 a4 2c
cat /proc/partitions output
android start = 2662400 blocks
cache start = 387072 blocks
data start = 5242880 blocks
fat start = 22156800 blocks
cat /proc/dumchar_info output
android start = 04 38 00 00 , android size = a2 80 00 00
cache start = a6 b8 00 00 , cache size = 17 a0 00 00
data start = be 58 00 00 , data size = 01 40 00 00 00
fat start = 01 58 00 00 fe , fat size = 05 48 58 00 00
I also read somewhere that it is also necessary to edit PMT: in that case I tried to flash with original PMT, edited PMT and without PMT, but cuoldn't notice any difference.
2) Mounting the internal memory and external SDcard on system start natively as EXT4 instead of FAT32
Using my old device (Runbo X5: MTK6577) I had success on mounting the internal storage as EXT4 by disassembling recovery.img and editing /etc/recovery.fstab to change the "vfat" value to "ext4" and reformatting the storage after a successful boot with ne recovery, but on Runbo X6 I get no change to the filesystem after reformatting. By the external SDcard I never had success.
Thouthand thanks for any help and advices what I'm doing wrong.
Nobody having a suggestion???
Maybe this one...
Hello, I just got my X6, and didn't have much time to play with it - plus I don't have your block/partition knowledge :s
So far I found this page http://4pda.ru/forum/index.php?showtopic=520192
there's a rooted rom on it (installed it trough the default recovery) - it works well.
There's also a custom recovery and some tools to install it, but running linux, I was blocked for that part.
Unfortunately, I havn't been able to boot the phone on fastboot to push it (it seems like there's no fastboot on the phone).
have you been able to get the NFC working?
Hi!
Thank you for the reply!
According to the manufacturer the NFC feature is still not working.
I tried VVL's custom on my old Runbo X5 and it had a lot of bugs... Also I don't think that he has realized the feature with different FS on SD mounting...
Besides that I have now my own custom based on the stock firmware I got with the device and its working perfect. By the way if you need a fully working CWM its provided by latest "MTK Droid and Tools".

Problem while building ipset binary to android

Hello,
I am losing my mind while building ipset binary to android, i am worked on it at least two hours, i have successfully builded kernel module for ipset, it is working fine but i cannot run ipset binary on my device. (nexus 5)
Code:
PKG_CONFIG_PATH=/storage/android/lib/pkgconfig CC=/storage/arm-linux-gnueabi-linaro_4.9.1-2014.06/bin/arm-eabi-cc ./configure --with-kmod=no --enable-shared=no --host=arm-linux-gnueabi --prefix=/storage/android
With this configuration command, ipset builds fine, but when i push it to /system/bin/ipset, i can not execute it from here.
Code:
/system/bin # ./ipset
/sbin/sh: ./ipset: not found
readelf -hd ipset output
Code:
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0x92a1
Start of program headers: 52 (bytes into file)
Start of section headers: 365580 (bytes into file)
Flags: 0x5000202, has entry point, Version5 EABI, soft-float ABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 8
Size of section headers: 40 (bytes)
Number of section headers: 38
Section header string table index: 35
Dynamic section at offset 0x171e0 contains 25 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libdl.so.2]
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000c (INIT) 0x8b98
0x0000000d (FINI) 0x1038c
0x00000019 (INIT_ARRAY) 0x271d4
0x0000001b (INIT_ARRAYSZ) 4 (bytes)
0x0000001a (FINI_ARRAY) 0x271d8
0x0000001c (FINI_ARRAYSZ) 4 (bytes)
0x00000004 (HASH) 0x818c
0x00000005 (STRTAB) 0x86ec
0x00000006 (SYMTAB) 0x831c
0x0000000a (STRSZ) 576 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x272d0
0x00000002 (PLTRELSZ) 440 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x89e0
0x00000011 (REL) 0x89c8
0x00000012 (RELSZ) 24 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffe (VERNEED) 0x89a8
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x892c
0x00000000 (NULL) 0x0
readelf -hd iptables output (the one that comes with android, works fine)
Code:
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: ARM
Version: 0x1
Entry point address: 0x5348
Start of program headers: 52 (bytes into file)
Start of section headers: 223636 (bytes into file)
Flags: 0x5000000, Version5 EABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 8
Size of section headers: 40 (bytes)
Number of section headers: 27
Section header string table index: 26
Dynamic section at offset 0x32cec contains 26 entries:
Tag Type Name/Value
0x00000003 (PLTGOT) 0x33e44
0x00000002 (PLTRELSZ) 864 (bytes)
0x00000017 (JMPREL) 0x4a00
0x00000014 (PLTREL) REL
0x00000011 (REL) 0x1080
0x00000012 (RELSZ) 14720 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffa (RELCOUNT) 1835
0x00000015 (DEBUG) 0x0
0x00000006 (SYMTAB) 0x148
0x0000000b (SYMENT) 16 (bytes)
0x00000005 (STRTAB) 0x8c8
0x0000000a (STRSZ) 1098 (bytes)
0x00000004 (HASH) 0xd14
0x00000001 (NEEDED) Shared library: [libc.so]
0x00000001 (NEEDED) Shared library: [libm.so]
0x00000001 (NEEDED) Shared library: [libstdc++.so]
0x00000020 (PREINIT_ARRAY) 0x33c6c
0x00000021 (PREINIT_ARRAYSZ) 0x8
0x00000019 (INIT_ARRAY) 0x33c74
0x0000001b (INIT_ARRAYSZ) 8 (bytes)
0x0000001a (FINI_ARRAY) 0x33c7c
0x0000001c (FINI_ARRAYSZ) 8 (bytes)
0x0000001e (FLAGS) BIND_NOW
0x6ffffffb (FLAGS_1) Flags: NOW
0x00000000 (NULL) 0x0
I think the problem is libraries, i also pushed the libc.so.6 and libdl to /system/lib with no success.
Could someone point out where i am doing the mistake?
Thanks.

W/WallpaperManager( 553): WallpaperService not running

Hello!
I got new EINK Android (4.2.2) based e-book reader and I have problem with wallpaper changing.
In any launcher I have tested, when I try change wallpaper nothing happens, and I got this in system log:
Code:
W/WallpaperManager( 553): WallpaperService not running
List of services on device:
Code:
Found 64 services:
0 commontime_management: []
1 samplingprofiler: []
2 diskstats: []
3 appwidget: [com.android.internal.appwidget.IAppWidgetService]
4 backup: [android.app.backup.IBackupManager]
5 uimode: [android.app.IUiModeManager]
6 serial: [android.hardware.ISerialManager]
7 usb: [android.hardware.usb.IUsbManager]
8 audio: [android.media.IAudioService]
9 dropbox: [com.android.internal.os.IDropBoxManagerService]
10 search: [android.app.ISearchManager]
11 country_detector: [android.location.ICountryDetector]
12 location: [android.location.ILocationManager]
13 devicestoragemonitor: []
14 notification: [android.app.INotificationManager]
15 updatelock: [android.os.IUpdateLock]
16 throttle: [android.net.IThrottleManager]
17 servicediscovery: [android.net.nsd.INsdManager]
18 ethernet: [android.net.ethernet.IEthernetManager]
19 connectivity: [android.net.IConnectivityManager]
20 wifi: [android.net.wifi.IWifiManager]
21 wifip2p: [android.net.wifi.p2p.IWifiP2pManager]
22 netpolicy: [android.net.INetworkPolicyManager]
23 netstats: [android.net.INetworkStatsService]
24 textservices: [com.android.internal.textservice.ITextServicesManager]
25 network_management: [android.os.INetworkManagementService]
26 clipboard: [android.content.IClipboard]
27 statusbar: [com.android.internal.statusbar.IStatusBarService]
28 device_policy: [android.app.admin.IDevicePolicyManager]
29 lock_settings: [com.android.internal.widget.ILockSettings]
30 mount: [IMountService]
31 accessibility: [android.view.accessibility.IAccessibilityManager]
32 input_method: [com.android.internal.view.IInputMethodManager]
33 bluetooth_manager: [android.bluetooth.IBluetoothManager]
34 input: [android.hardware.input.IInputManager]
35 window: [android.view.IWindowManager]
36 alarm: [android.app.IAlarmManager]
37 vibrator: [android.os.IVibratorService]
38 battery: []
39 hardware: [android.os.IHardwareService]
40 content: [android.content.IContentService]
41 account: [android.accounts.IAccountManager]
42 user: [android.os.IUserManager]
43 permission: [android.os.IPermissionController]
44 cpuinfo: []
45 dbinfo: []
46 gfxinfo: []
47 meminfo: []
48 activity: [android.app.IActivityManager]
49 package: [android.content.pm.IPackageManager]
50 scheduling_policy: [android.os.ISchedulingPolicyService]
51 telephony.registry: [com.android.internal.telephony.ITelephonyRegistry]
52 display: [android.hardware.display.IDisplayManager]
53 usagestats: [com.android.internal.app.IUsageStats]
54 batteryinfo: [com.android.internal.app.IBatteryStats]
55 power: [android.os.IPowerManager]
56 entropy: []
57 sensorservice: [android.gui.SensorServer]
58 SurfaceFlinger: [android.ui.ISurfaceComposer]
59 drm.drmManager: [drm.IDrmManagerService]
60 media.audio_policy: [android.media.IAudioPolicyService]
61 media.camera: [android.hardware.ICameraService]
62 media.player: [android.media.IMediaPlayerService]
63 media.audio_flinger: [android.media.IAudioFlinger]
Any solution to add/start WallpaperService on this device?

how to setup old remote on a different android firmware

Hello,
Can someone explain to me, how to change files of a rom so the ir remote control works again?
thx,
Mark-1978
if you have root you can change the file from system/etc/remote.conf
drakulaboy said:
if you have root you can change the file from system/etc/remote.conf
Click to expand...
Click to collapse
Tried that, rebooted, but remote still not working. Used the original remote.conf file. Maybe it's a combination of firmware and remote.conf. Or there is another keylayout file. Tried a lot, just not again all the different remote.conf files.
mark-1978 said:
Tried that.
Click to expand...
Click to collapse
from what device is the remote and what device do you want to use with the remote?
it's this remote(picture): http://mxqproject.com/tutorial-andr...r-remote-control-after-firmware-installation/
And the rom is android 7.1.2 for p212.
The led of the box does light up when i press a button on the remote, but the software doesn't respond.
mark-1978 said:
Tried that, rebooted, but remote still not working. Used the original remote.conf file. Maybe it's a combination of firmware and remote.conf. Or there is another keylayout file. Tried a lot, just not again all the different remote.conf files.
Click to expand...
Click to collapse
Have you grabbed the remote.conf while the Stock Firmware was actually installed and copied that file over? Or have you only tried the files linked from the Video? Also, I don't know if you already have or not, but make sure the box has Root Access first with Magisk and enable show hidden files through ES File Explorer to look for the Remote.conf file.
whiteak said:
Have you grabbed the remote.conf while the Stock Firmware was actually installed and copied that file over? Or have you only tried the files linked from the Video? Also, I don't know if you already have or not, but make sure the box has Root Access first with Magisk and enable show hidden files through ES File Explorer to look for the Remote.conf file.
Click to expand...
Click to collapse
Took a rom for another device, but p212 and flashed that. For the remote, only down arrow works, up arrow gives right arrow, and youtube open app works, and music player app open works with remote. Tried pasting all kinds of remote.conf files, didn't work. Did replace the complete usr folder with stock 7.1.2 one, didn't work. Replaced remotecfg file, didn't work. Always the remote control has the same behaviour, with all the changes i made.
mark-1978 said:
Took a rom for another device, but p212 and flashed that. For the remote, only down arrow works, up arrow gives right arrow, and youtube open app works, and music player app open works with remote. Tried pasting all kinds of remote.conf files, didn't work. Did replace the complete usr folder with stock 7.1.2 one, didn't work. Replaced remotecfg file, didn't work. Always the remote control has the same behaviour, with all the changes i made.
Click to expand...
Click to collapse
I would try flashing back your Stock firmware for your device where you know the Remote works, Root with Magisk, install ES File, and grab the remote.conf from your actual working Stock Rom and try that file. Do you even have your original Stock Firmware or only another Rom from another device? If you don't have your original Stock firmware for your device, that's your first step, find it and flash that, you need it, not a Rom from another device regardless if it is P212 or not, you've already proven that it doesn't work.
the box does respond a bit(light led goes off and on) when i press a button. The dmesg -c command tells something about led going off and on too.
I always have a wireless keyboard connected to the box. Isn't it posible to use that to power on the box?
For now, it's a rf wireless turn on and off system i use for the android box.
Added the remote.conf from the installed rom. The 'volume -'button turns the android box off. Another press of the button doesn't turn on the box.
remote.conf from rom installed on box:
#*********************************************************************************************************
#this file is configuration for each factory remote device
# work_mode 0 :software mode 1 :hardware mode
# repeat_enable 0 :disable repeat 1 :enable repeat
#
# factory_code each device has it's unique factory code.
# pattern:custom_code(16bit)+index_code(16bit)
# examble: 0xff000001 = 0xff00(custom cod) 0001 (index)
#
# release_delay unit:ms.release will report from kernel to user layer after this period of time
# from press or repeat triggered.
#
# debug_enable 0 :debug disable 1 :debug disable
#
# SW MODE:
# bit_count how many bits in each frame
# tw_leader_act time window for leader active
# tw_bit0 time window for bit0 time.
# tw_bit1 time window for bit1 time
# tw_repeat_leader time window for repeat leader
# REG
# reg_base_gen set value for PREG_IR_DEC_BASE_GEN
# reg_control set value for PREG_IR_DEC_CONTROL
# reg_leader_act set value for PREG_IR_DEC_LEADER_ACTIVE
# reg_leader_idle set value for PREG_IR_DEC_LEADER_IDLE
# reg_repeat_leader set value for PREG_IR_DEC_REPEAT_IDLE
# reg_bit0_time set value for PREG_IR_DEC_BIT0_TIME
#*************************************************************************************************************
#amlogic NEC remote
work_mode = 0
repeat_enable = 1
repeat_delay = 130
repeat_peroid = 120
release_delay = 20
debug_enable = 1
fn_key_scancode = 0x44
left_key_scancode = 0x10
right_key_scancode = 0x11
up_key_scancode = 0x0b
down_key_scancode = 0x0e
ok_key_scancode = 0x0d
pageup_key_scancode = 0x1e
pagedown_key_scancode = 0x1f
custom_begin
factory_infcode = 0
factory_code = 0x40400001
mouse_begin
0 0x10
1 0x11
2 0x0b
3 0x0e
mouse_end
key_begin
0x4d 116
0x43 113
0x53 226
0x5b 0x179
0x57 150
0x54 0x16a
0x1c 114
0x1e 0x19c
0x1f 0x197
0x15 115
0x1a 102
0x42 158
0x45 139
# 0x44 0
0x0b 103
0x0e 108
0x10 105
0x11 106
0x0d 28
0x01 2
0x02 3
0x03 4
0x04 5
0x05 6
0x06 7
0x07 8
0x08 9
0x09 10
0x0f 0x175
0x00 11
0x0c 14
key_end
repeat_key_begin
0x4d 116
0x43 113
0x53 226
0x5b 0x179
0x57 150
0x54 0x16a
0x1c 114
0x1e 0x19c
0x1f 0x197
0x15 115
0x1a 102
0x42 158
0x45 139
# 0x44 0
0x0b 103
0x0e 108
0x10 105
0x11 106
0x0d 28
0x01 2
0x02 3
0x03 4
0x04 5
0x05 6
0x06 7
0x07 8
0x08 9
0x09 10
0x0f 0x175
0x00 11
0x0c 14
repeat_key_end
custom_end
custom_begin
factory_infcode = 1
factory_code = 0xbd020001
key_begin
0xca 103
0xd2 108
0x99 105
0xc1 106
0xce 97
0x45 116
0xc5 133
0x80 113
0xd0 15
0xd6 125
0x95 102
0xdd 104
0x8c 109
0x89 131
0x9c 130
0x9a 120
0xcd 121
key_end
custom_end
remote.conf from originally rom and remote of the box:
#*********************************************************************************************************
#this file is configuration for each factory remote device
# work_mode 0 :software mode 1 :hardware mode
# repeat_enable 0 :disable repeat 1 :enable repeat
#
# factory_code each device has it's unique factory code.
# pattern:custom_code(16bit)+index_code(16bit)
# examble: 0xff000001 = 0xff00(custom cod) 0001 (index)
#
# release_delay unit:ms.release will report from kernel to user layer after this period of time
# from press or repeat triggered.
#
# debug_enable 0 :debug disable 1 :debug disable
#
# SW MODE:
# bit_count how many bits in each frame
# tw_leader_act time window for leader active
# tw_bit0 time window for bit0 time.
# tw_bit1 time window for bit1 time
# tw_repeat_leader time window for repeat leader
# REG
# reg_base_gen set value for PREG_IR_DEC_BASE_GEN
# reg_control set value for PREG_IR_DEC_CONTROL
# reg_leader_act set value for PREG_IR_DEC_LEADER_ACTIVE
# reg_leader_idle set value for PREG_IR_DEC_LEADER_IDLE
# reg_repeat_leader set value for PREG_IR_DEC_REPEAT_IDLE
# reg_bit0_time set value for PREG_IR_DEC_BIT0_TIME
#*************************************************************************************************************
#amlogic NEC remote
work_mode = 0
repeat_enable = 1
repeat_delay = 130
repeat_peroid = 120
release_delay = 20
debug_enable = 1
fn_key_scancode = 0x15
left_key_scancode = 0x1c
right_key_scancode = 0x48
up_key_scancode = 0x44
down_key_scancode = 0x1d
ok_key_scancode = 0x1e
pageup_key_scancode = 0x04
pagedown_key_scancode = 0x1b
custom_begin
factory_infcode = 0
factory_code = 0xfb040001
mouse_begin
0 0x1c
1 0x48
2 0x44
3 0x1d
mouse_end
key_begin
0x47 11
0x13 2
0x10 3
0x11 4
0x0F 5
0x0C 6
0x0D 7
0x0B 8
0x08 9
0x09 10
0x5C 97
0x51 65
0x49 14
0x06 130
0x14 131
0x44 103
0x1D 108
0x1C 105
0x48 106
0x53 125
0x45 104
0x19 109
0x16 102
0x52 119
0x05 122
0x59 123
0x1b 120
0x04 121
0x1A 116
0x0A 15
0x0e 113
0x15 63
0x1F 102
0x1e 132
0x07 133
0x12 134
0x54 135
0x02 136
0x4f 30
0x42 48
0x5d 46
0x4c 32
0x58 137
0x55 140
key_end
repeat_key_begin
0x47 11
0x13 2
0x10 3
0x11 4
0x0F 5
0x0C 6
0x0D 7
0x0B 8
0x08 9
0x09 10
0x5C 97
0x51 65
0x49 14
0x06 130
0x14 131
0x44 103
0x1D 108
0x1C 105
0x48 106
0x53 125
0x45 104
0x19 109
0x16 102
0x52 119
0x05 122
0x59 123
0x1b 120
0x04 121
0x1A 116
0x0A 15
0x0e 113
0x15 63
0x1F 102
0x1e 132
0x07 133
0x12 134
0x54 135
0x02 136
0x4f 30
0x42 48
0x5d 46
0x4c 32
0x58 137
0x55 140
repeat_key_end
custom_end
custom_begin
factory_infcode = 1
factory_code = 0xfb000001
mouse_begin
0 0x08
1 0x0b
2 0x17
3 0x0f
mouse_end
key_begin
# < > dn up
0x0b 105
0x17 106
0x1b 108
0x0f 103
#ok back
0x1f 232
0x03 158
#menu home
0x02 125
0x01 102
#v- mute v+
0x09 114
0x0e 113
0x06 115
#out in
0x04 130
0x05 131
#power fn del
0x0a 116
0x08 63
0x07 14
key_end
repeat_key_begin
# < > dn up
0x0b 105
0x17 106
0x1b 108
0x0f 103
#ok back
0x1f 232
0x03 158
#menu home
0x02 125
0x01 102
#v- mute v+
0x09 114
0x0e 113
0x06 115
#out in
0x04 130
0x05 131
#power fn del
0x0a 116
0x08 63
0x07 14
repeat_key_end
custom_end
custom_begin
factory_infcode = 2
factory_code = 0x40400001
mouse_begin
0 0x10
1 0x11
2 0x0b
3 0x0e
mouse_end
key_begin
# 0 - 9
0x00 11
0x01 2
0x02 3
0x03 4
0x04 5
0x05 6
0x06 7
0x07 8
0x08 9
0x09 10
#del
0x0c 14
#recent apps
0x42 149
#web tv all_app
0x53 146
0x5b 147
0x54 145
#switch
0x44 888
# < >
0x10 105
0x11 106
0x0e 108
0x0b 103
#ok back
0x0d 232
0x42 158
#menu home
0x45 125
0x1a 102
#v- mute v+
0x17 114
0x43 113
0x18 115
#|<< >| || >>|
0x1f 122
0x40 119
0x41 128
0x1e 123
#power fn
0x4d 116
0x47 63
key_end
repeat_key_begin
# 0 - 9 del space explorer
0x00 11
0x01 2
0x02 3
0x03 4
0x04 5
0x05 6
0x06 7
0x07 8
0x08 9
0x09 10
#del
0x0c 14
#recent apps
0x42 149
#web tv all_app
0x53 146
0x5b 147
0x54 145
#switch
0x44 888
# < >
0x10 105
0x11 106
0x0e 108
0x0b 103
#ok back
0x0d 232
0x45 158
#menu home
0x1d 125
0x1a 102
#v- mute v+
0x17 114
0x43 113
0x18 115
#|<< >| || >>|
0x1f 122
0x40 119
0x41 128
0x1e 123
#power fn
0x4d 116
0x47 63
repeat_key_end
custom_end
custom_begin
factory_infcode = 3
factory_code = 0xff000001
mouse_begin
0 0x47
1 0x15
2 0x46
3 0x16
mouse_end
key_begin
# < > dn up
0x0e 105
0x1a 106
0x02 108
0x03 103
#ok back
0x07 232
0x5c 158
#menu home
0x13 125
0x48 102
#mute v- v+
0x01 113
0x58 114
0x0b 115
#power
0x14 116
key_end
repeat_key_begin
# < > dn up
0x0e 105
0x1a 106
0x02 108
0x03 103
#ok back
0x07 232
0x5c 158
#menu home
0x13 125
0x48 102
#mute v- v+
0x01 113
0x58 114
0x0b 115
#power
0x14 116
repeat_key_end
custom_end
custom_begin
factory_infcode = 4
factory_code = 0xfe010001
mouse_begin
0 0x51
1 0x50
2 0x16
3 0x1a
mouse_end
key_begin
# < > dn up
0x51 105
0x50 106
0x1a 108
0x16 103
#ok back
0x13 232
0x19 158
#menu home
0x00 125
0x11 102
#v- mute v+
0x10 114
0x45 113
0x18 115
#power fn del
0x40 116
0x4c 63
0x42 14
# 0 - 9
0x01 11
0x4e 2
0x0d 3
0x0c 4
0x4a 5
0x09 6
0x08 7
0x46 8
0x05 9
0x04 10
#|<< play stop >>| << >>
0x4b 122
# 0x5a 119
# 0x52 128
0x4f 123
# 0x55 121
# 0x54 120
#zoom setup photo music file allapp
0x14 130
0x0a 131
# 0x49 144
# 0x0a 143
# 0x48 148
#
# 0x4d 146
# 0x0e 146
# 0x0f 145
0x15 145
#setting search subtitle audio miracast browser
0x0f 142
# 0x03 127
# 0x06 149
# 0x44 150
0x43 193
0x41 146
key_end
repeat_key_begin
# < > dn up
0x51 105
0x50 106
0x1a 108
0x16 103
#ok back
0x13 232
0x19 158
#menu home
0x00 125
0x11 102
#v- mute v+
0x10 114
0x45 113
0x18 115
#power fn del
0x40 116
0x4c 63
0x42 14
# 0 - 9
0x01 11
0x4e 2
0x0d 3
0x0c 4
0x4a 5
0x09 6
0x08 7
0x46 8
0x05 9
0x04 10
#|<< play stop >>| << >>
0x4b 122
# 0x5a 119
# 0x52 128
0x4f 123
# 0x55 121
# 0x54 120
#zoom setup photo music file allapp
0x14 130
0x0a 131
# 0x49 144
# 0x0a 143
# 0x48 148
#
# 0x4d 146
# 0x0e 146
# 0x0f 145
0x15 145
#setting search subtitle audio miracast browser
0x0f 142
# 0x03 127
# 0x06 149
# 0x44 150
0x43 193
0x41 146
repeat_key_end
custom_end
custom_begin
factory_infcode = 5
factory_code = 0xfd020001
mouse_begin
0 0x5d
1 0x5c
2 0x06
3 0x1f
mouse_end
key_begin
# < > dn up
0x5d 105
0x5c 106
0x1f 108
0x06 103
#ok back
0x1e 232
0x1b 158
#menu home
0x58 125
0x59 102
#v- mute v+
0x16 114
0x43 113
0x44 115
#power fn del
0x1a 116
0x0b 63
0x0c 14
#play << >>
0x55 119
0x54 121
0x17 120
#|<< >>|
0x14 122
0x1c 123
# 0 - 9
0x00 11
0x01 2
0x02 3
0x03 4
0x04 5
0x05 6
0x1d 7
0x07 8
0x08 9
0x09 10
#file tv web set
0x53 148
0x12 147
0x57 146
0x52 142
#PHOTO PAGE_UP PAGE_DOWN MUSIC
0x10 144
0x18 61
0x19 62
0x11 143
#info language miracast wifi
0x42 152
0x13 192
0x41 193
0x15 194
key_end
repeat_key_begin
# < > dn up
0x5d 105
0x5c 106
0x1f 108
0x06 103
#ok back
0x1e 232
0x1b 158
#menu home
0x58 125
0x59 102
#v- mute v+
0x16 114
0x43 113
0x44 115
#power fn del
0x1a 116
0x0b 63
0x0c 14
#play << >>
0x55 119
0x54 121
0x17 120
#|<< >>|
0x14 122
0x1c 123
# 0 - 9
0x00 11
0x01 2
0x02 3
0x03 4
0x04 5
0x05 6
0x1d 7
0x07 8
0x08 9
0x09 10
#file tv web set
0x53 148
0x12 147
0x57 146
0x52 142
#PHOTO PAGE_UP PAGE_DOWN MUSIC
0x10 144
0x18 61
0x19 62
0x11 143
#info language miracast wifi
0x42 152
0x13 192
0x41 193
0x15 194
repeat_key_end
custom_end
custom_begin
factory_infcode = 6
factory_code = 0xdf000001
mouse_begin
0 0x47
1 0x07
2 0x1a
3 0x48
mouse_end
key_begin
# < > dn up
0x47 105
0x07 106
0x48 108
0x1a 103
#ok back
0x06 232
0x0a 158
#menu home
0x18 125
0x42 102
#v- mute v+
0x5c 114
0x5f 113
0x5d 115
#power fn del allapp browser
0x1c 116
0x03 63
0x10 14
0x01 145
0x41 146
#|<< >>|
0x4b 122
0x4f 123
# 0 - 9
0x0c 11
0x54 2
0x16 3
0x15 4
0x50 5
0x12 6
0x11 7
0x4c 8
0x0e 9
0x0d 10
key_end
repeat_key_begin
# < > dn up
0x47 105
0x07 106
0x48 108
0x1a 103
#ok back
0x06 232
0x0a 158
#menu home
0x18 125
0x42 102
#v- mute v+
0x5c 114
0x5f 113
0x5d 115
#power fn del allapp browser
0x1c 116
0x03 63
0x10 14
0x01 145
0x41 146
#|<< >>|
0x4b 122
0x4f 123
# 0 - 9
0x0c 11
0x54 2
0x16 3
0x15 4
0x50 5
0x12 6
0x11 7
0x4c 8
0x0e 9
0x0d 10
repeat_key_end
custom_end
custom_begin
factory_infcode = 7
factory_code = 0x1dcc0001
mouse_begin
0 0x10
1 0x12
2 0x07
3 0x44
mouse_end
key_begin
# < > dn up
0x10 105
0x12 106
0x44 108
0x07 103
#ok back
0x11 232
0x0f 158
#menu home
0x40 125
0x03 102
#v- v+
0x02 114
0x0e 115
#power fn del tv allapp browser kodi
0x00 116
0x4c 63
0x4a 14
0x01 147
0x0d 145
0x09 146
0x05 193
#|<< >>|
0x06 122
0x0a 123
# 0 - 9
0x49 11
0x41 2
0x45 3
0x4d 4
0x42 5
0x46 6
0x4e 7
0x43 8
0x47 9
0x4f 10
key_end
repeat_key_begin
# < > dn up
0x10 105
0x12 106
0x44 108
0x07 103
#ok back
0x11 232
0x0f 158
#menu home
0x40 125
0x03 102
#v- v+
0x02 114
0x0e 115
#power fn del tv allapp browser kodi
0x00 116
0x4c 63
0x4a 14
0x01 147
0x0d 145
0x09 146
0x05 193
#|<< >>|
0x06 122
0x0a 123
# 0 - 9
0x49 11
0x41 2
0x45 3
0x4d 4
0x42 5
0x46 6
0x4e 7
0x43 8
0x47 9
0x4f 10
repeat_key_end
custom_end
Unless that is from your Original Stock firmware for your device that means nothing, and from the looks of it, it isn't, you already know that the remote.conf from another rom doesn't work, like I said earlier, your first step is getting the original Stock firmware for your device, until you do that, you're not going to get anywhere with this.
whiteak said:
Unless that is from your Original Stock firmware for your device that means nothing, and from the looks of it, it isn't, you already know that the remote.conf from another rom doesn't work, like I said earlier, your first step is getting the original Stock firmware for your device, until you do that, you're not going to get anywhere with this.
Click to expand...
Click to collapse
Do you know what command the box uses to power on and off? So the second of the two numbers in the remote.conf. Firts '0x1d' which is the button pressed, then a number, which is the command, for example the powr button command.
If i know which command is the one for powerbutton, i could alter that in the remote.conf and maybe the box will turn on and off with that button. I think '116' is the command of the power button. And '0x11 is the input for a working button on the installed rom. Now if i put in '0x11 116', the down button should be the power button For when i press down on the installed rom with current remote, i select to the right > .
Tried it, not working.
the remote control looks like this one: https://www.ebay.com/itm/NEW-Replac...III-Android-TV-Box-MX-III-MX3-3-/141999406704
used this article to read the incoming remote signals.
power status led resume: KD, ZOOM, <<, HOME, BACK, UP, DOWN, FLAG WITH TWO LEGS, MOUSE, 1, 2, 6, 5, 7, 8, 9, 0, X IN RECTANGLE, WORLD SYMBOL,
playback enable: APPS
79 (readport): >>
video off: volume plus
video on: volume down
81 (readport): left
80 (readport): right
exit program: 3 and 4
the left side are what the reading program says of it, the right side are the pressed buttons on the remote. These are from the installed rom.
maybe it has something to do with the factorycode. If that isn't the code of the used remote control, all the text below will be ignored. So, how to find the right factorycode?
tried the dmesg command to read out the remote signals, but didn't get much further.
used this topic.
made a printscreen of the readings of some pressed buttons on the remote control.
Finally installed magicsee iron tv box firmware(p212) and even the remote works.
Youtube stuttered, that was because my tv is a 50hz one and android had set the resolution to 60hz, which is incompatible for the tv. So putting it to 50hz solved the youtube lag.
mark-1978 said:
Finally installed magicsee iron tv box firmware(p212) and even the remote works.
Youtube stuttered, that was because my tv is a 50hz one and android had set the resolution to 60hz, which is incompatible for the tv. So putting it to 50hz solved the youtube lag.
Click to expand...
Click to collapse
What TV have you got?
I didnt know any modern tvs being made that was restricted to just 50hz.
Sure alot of TVs in England advertise 50hz but they all support 60hz, just UK broadcasts still done at 50hz.
Tonian1878 said:
What TV have you got?
I didnt know any modern tvs being made that was restricted to just 50hz.
Sure alot of TVs in England advertise 50hz but they all support 60hz, just UK broadcasts still done at 50hz.
Click to expand...
Click to collapse
You're probably right. Must have been a bad youtube recording.
On second thought, youtube definately is skipping frames as a set the resolution to 60hz. It's a 50hz tv, but you can connect at 60hz. When i set the framerate to 50 hz, no more skipping frames.
edit: installed another android 7.1.2 rom with level 1 and level 2 framestabilizers. But youtube still sucks. The advertizing in between the youtube movies are perfect, but when i watch live concert videos, there's stutter a lot. Maybe it's an s905x/vp9 codec incompatibility, since all youtube movies are encoded in vp9. Can't just replace the vp decoder file from the rom, or there's a bootloop or stuck at boot. If youtube would make one standard for all movies that make them more compatible, that would be great. Maybe i should try a really old version of youtube app.

Serial port with server octoprint to debian arm chroot (LinuxDeploy)

Hello
I am looking for a solution to reach the serial interface of a 3D printer in a debian chroot linux deploy.
My devices is Samsung A3 2015, rom: resurrection remix 7.1
During my tests, I can communicate with the printer (I sent gcode commands correctly) with a simple serial port application on the playstore.
I deployed the octoprint server in Debian Arm of Linux Deploy. In the octoprint configuration an automatic search of the periphery (usually /dev/ttyUSB) does not work; no port found.
In addition, when I navigate with a terminal in the android system, there is no /dev/ttyUSB file.
But where does Android map the periphery?
Here is the result of the dmesg when connecting the printer:
Code:
[85207.609290] usb 1-1: full-speed USB device number 10 using msm_hsusb_host
[85207.737337] usb 1-1: New USB device found, idVendor = 1a86, idProduct = 7523
[85207.737475] usb 1-1: New USB device strings: Mfr = 0, Product = 2, SerialNumber = 0
[85207.737514] usb 1-1: Product: USB2.0-Serial
An lsusb, gives me my printer:
Code:
Bus 001 Device 014: ID 1a86: 7523 QinHeng Electronics HL-340 USB-Serial Adapter
Code:
root @ localhost: ~ # usb-devices
T: Bus = 01 Lev = 01 Prnt = 01 Port = 00 Cnt = 01 Dev # = 9 Spd = 12 MxCh = 0
D: Ver = 1.10 Cls = ff (sell) Sub = 00 Prot = 00 MxPS = 8 # Cfgs = 1
P: Vendor = 1a86 ProdID = 7523 Rev = 02.63
S: Product = USB2.0-Serial
C: # Ifs = 1 Cfg # = 1 Atr = 80 MxPwr = 98mA
I: If # = 0 Alt = 0 # EPs = 3 Cls = ff (sells) Sub = 01 Prot = 02 Driver = (none)
With debian/arch etc, /dev is well mounted.
By the way there is no /dev/ttyUSB in the android system (simple terminal) when I plug the printer.
But where does it map the serial port finally!
I aim on getting problem ..
Hi, I know that this is an old thread, but I ran in the exact same issue.
Did you ever solve this please?
This is what I get:
Code:
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=1a86 ProdID=7523 Rev=02.64
S: Product=USB Serial
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=98mA
I: If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=02 Driver=(none)
It seems that no driver gets loaded

Categories

Resources