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