[Galaxy S 4 Active Original Android Development] LeJay:
You need a keylayout (.kl) file to get the buttons to work. See https://github.com/LeJay/android_device_samsung_jactivelte/blob/cm-10.1/device.mk and https://github.com/LeJay/android_device_samsung_jactivelte/blob/cm-10.1/keylayout/gpio-keys.kl .

We could start a 10.2 thread. I don't really have a good setup for sharing right now (it's not all nicely sync'd with github). I'm hacking around to figure out what on earth is going on with the camera. As close as I've been able to pin it down, i get this when I start the camera:

msm_ioctl_server: MSM_CAM_IOCTL_V4L2_EVT_NATIVE_CMD : 68
<4>[ 48.634307] s5k3h5xa_sensor_power_up: 605
<4>[ 48.634307] s5k3h5xa_sensor_power_up:sensor_power_on 607
<4>[ 48.634368] s5k3h5xa_sensor_power_up(1) : i2c_scl: 0, i2c_sda: 0
<7>[ 48.634399] [FORTIUS] cam_ldo_power_on_sub: Sub On
<7>[ 48.634399] [FORTIUS] cam_ldo_power_on_sub: system_rev=16
<4>[ 48.640014] MCLK ON!!!
<7>[ 48.645050] [FORTIUS] cam_ldo_power_on: On
<4>[ 48.652587] s5k3h5xa_sensor_power_up(2) : i2c_scl: 1, i2c_sda: 1
<4>[ 48.652648] s5k3h5xa_sensor_power_up(3) : i2c_scl: 1, i2c_sda: 1
<4>[ 48.652648] MAIN_CAM_RESET!!!s5k3h5xa_sensor_power_up(4) : i2c_scl: 1, i2c_sda: 1
<3>[ 48.652801] msm_actuator_power_up called
<3>[ 48.655944] vcm info: 0 0
<6>[ 48.658447] msm_enqueue: queue eventdata new max is 1
<6>[ 48.659820] msm_enqueue: queue control new max is 1
<7>[ 48.661224] mm-qcamera-daem: unhandled page fault (11) at 0x00000034, code 0x005
<1>[ 48.661224] pgd = dd288000
<1>[ 48.663055] [00000034] *pgd=00000000
<4>[ 48.666534]
<4>[ 48.666534] Pid: 2155, comm: mm-qcamera-daem
<4>[ 48.666564] CPU: 1 Tainted: G W (3.4.0-cyanogenmod-gf8e8065-dirty #2)
<4>[ 48.666564] PC is at 0x40389a7e
<4>[ 48.666564] LR is at 0x40234250
<4>[ 48.666564] pc : [<40389a7e>] lr : [<40234250>] psr: 80000030
<4>[ 48.666564] sp : 407b6ab0 ip : 40234250 fp : 403e49e0
<4>[ 48.666595] r10: 406313b4 r9 : 406314a4 r8 : 0002829c
<4>[ 48.666595] r7 : 4038993d r6 : 0000000c r5 : 000107ff r4 : 407b6bb4
<4>[ 48.666595] r3 : 403ec630 r2 : 00000000 r1 : 00000000 r0 : 40225050
<4>[ 48.666595] Flags: Nzcv IRQs on FIQs on Mode USER_32 ISA Thumb Segment user
<4>[ 48.666595] Control: 10c5787d Table: 9e68806a DAC: 00000015
<4>[ 48.666625] [<c00131bc>] (unwind_backtrace+0x0/0xe0) from [<c0016dac>] (__do_user_fault+0x7c/0xc4)
<4>[ 48.666656] [<c0016dac>] (__do_user_fault+0x7c/0xc4) from [<c00170e4>] (do_page_fault+0x2f0/0x334)
<4>[ 48.666656] [<c00170e4>] (do_page_fault+0x2f0/0x334) from [<c0008458>] (do_DataAbort+0x110/0x17c)
<4>[ 48.666687] [<c0008458>] (do_DataAbort+0x110/0x17c) from [<c000d874>] (__dabt_usr+0x34/0x40)
<4>[ 48.666687] Exception stack(0xdac3bfb0 to 0xdac3bff8)
<4>[ 48.666687] bfa0: 40225050 00000000 00000000 403ec630
<4>[ 48.666687] bfc0: 407b6bb4 000107ff 0000000c 4038993d 0002829c 406314a4 406313b4 403e49e0
<4>[ 48.666717] bfe0: 40234250 407b6ab0 40234250 40389a7e 80000030 ffffffff
<7>[ 48.717529] mm-qcamera-daem: unhandled page fault (11) at 0x00000034, code 0x005
<1>[ 48.717529] pgd = dd288000
<1>[ 48.719268] [00000034] *pgd=00000000
<4>[ 48.722839]
<4>[ 48.722839] Pid: 2155, comm: mm-qcamera-daem
<4>[ 48.722839] CPU: 1 Tainted: G W (3.4.0-cyanogenmod-gf8e8065-dirty #2)
<4>[ 48.722839] PC is at 0x40389a7e
<4>[ 48.722869] LR is at 0x40234250
<4>[ 48.722869] pc : [<40389a7e>] lr : [<40234250>] psr: 80000030
<4>[ 48.722869] sp : 407b6ab0 ip : 40234250 fp : 403e49e0
<4>[ 48.722869] r10: 406313b4 r9 : 406314a4 r8 : 0002829c
<4>[ 48.722869] r7 : 4038993d r6 : 0000000c r5 : 000107ff r4 : 407b6bb4
<4>[ 48.722900] r3 : 403ec630 r2 : 00000000 r1 : 00000000 r0 : 40225050
<4>[ 48.722900] Flags: Nzcv IRQs on FIQs on Mode USER_32 ISA Thumb Segment user
<4>[ 48.722900] Control: 10c5787d Table: 9e68806a DAC: 00000015
<4>[ 48.722930] [<c00131bc>] (unwind_backtrace+0x0/0xe0) from [<c0016dac>] (__do_user_fault+0x7c/0xc4)
<4>[ 48.722961] [<c0016dac>] (__do_user_fault+0x7c/0xc4) from [<c00170e4>] (do_page_fault+0x2f0/0x334)
<4>[ 48.722961] [<c00170e4>] (do_page_fault+0x2f0/0x334) from [<c0008458>] (do_DataAbort+0x110/0x17c)
<4>[ 48.722961] [<c0008458>] (do_DataAbort+0x110/0x17c) from [<c000d874>] (__dabt_usr+0x34/0x40)
<4>[ 48.722991] Exception stack(0xdac3bfb0 to 0xdac3bff8)
<4>[ 48.722991] bfa0: 40225050 00000000 00000000 403ec630
<4>[ 48.723022] bfc0: 407b6bb4 000107ff 0000000c 4038993d 0002829c 406314a4 406313b4 403e49e0
<4>[ 48.723022] bfe0: 40234250 407b6ab0 40234250 40389a7e 80000030 ffffffff
<7>[ 48.824523] mm-qcamera-daem: unhandled page fault (11) at 0x00000034, code 0x005
<1>[ 48.824523] pgd = dd288000
<1>[ 48.826385] [00000034] *pgd=00000000
<4>[ 48.829833]
<4>[ 48.829833] Pid: 2155, comm: mm-qcamera-daem
<4>[ 48.829833] CPU: 1 Tainted: G W (3.4.0-cyanogenmod-gf8e8065-dirty #2)
<4>[ 48.829833] PC is at 0x40389a7e
<4>[ 48.829833] LR is at 0x40234250
<4>[ 48.829864] pc : [<40389a7e>] lr : [<40234250>] psr: 80000030
<4>[ 48.829864] sp : 407b6ab0 ip : 40234250 fp : 403e49e0
<4>[ 48.829864] r10: 406313b4 r9 : 406314a4 r8 : 0002829c
<4>[ 48.829864] r7 : 4038993d r6 : 0000000c r5 : 000107ff r4 : 407b6bb4
<4>[ 48.829895] r3 : 403ec630 r2 : 00000000 r1 : 00000000 r0 : 40225050
<4>[ 48.829895] Flags: Nzcv IRQs on FIQs on Mode USER_32 ISA Thumb Segment user
<4>[ 48.829895] Control: 10c5787d Table: 9e68806a DAC: 00000015
<4>[ 48.829925] [<c00131bc>] (unwind_backtrace+0x0/0xe0) from [<c0016dac>] (__do_user_fault+0x7c/0xc4)
<4>[ 48.829956] [<c0016dac>] (__do_user_fault+0x7c/0xc4) from [<c00170e4>] (do_page_fault+0x2f0/0x334)
<4>[ 48.829956] [<c00170e4>] (do_page_fault+0x2f0/0x334) from [<c0008458>] (do_DataAbort+0x110/0x17c)
<4>[ 48.829986] [<c0008458>] (do_DataAbort+0x110/0x17c) from [<c000d874>] (__dabt_usr+0x34/0x40)
<4>[ 48.829986] Exception stack(0xdac3bfb0 to 0xdac3bff8)
<4>[ 48.829986] bfa0: 40225050 00000000 00000000 403ec630
<4>[ 48.829986] bfc0: 407b6bb4 000107ff 0000000c 4038993d 0002829c 406314a4 406313b4 403e49e0
<4>[ 48.830017] bfe0: 40234250 407b6ab0 40234250 40389a7e 80000030 ffffffff
<4>[ 48.830932] Division by zero in kernel.
<4>[ 48.830963] [<c00131bc>] (unwind_backtrace+0x0/0xe0) from [<c0298b44>] (Ldiv0+0x8/0x10)
<4>[ 48.830993] [<c0298b44>] (Ldiv0+0x8/0x10) from [<c04d27b0>] (msm_sensor_delay_frames+0x44/0xa4)
<4>[ 48.830993] [<c04d27b0>] (msm_sensor_delay_frames+0x44/0xa4) from [<c04d2ee0>] (msm_sensor_subdev_ioctl+0x6c/0x90)
<4>[ 48.831024] [<c04d2ee0>] (msm_sensor_subdev_ioctl+0x6c/0x90) from [<c04c8d2c>] (msm_mctl_release+0x48/0x238)
<4>[ 48.831024] [<c04c8d2c>] (msm_mctl_release+0x48/0x238) from [<c04cee1c>] (msm_close_server+0x78/0xcc)
<4>[ 48.831054] [<c04cee1c>] (msm_close_server+0x78/0xcc) from [<c04a5150>] (v4l2_release+0x44/0x64)
<4>[ 48.831054] [<c04a5150>] (v4l2_release+0x44/0x64) from [<c0124d78>] (fput+0x10c/0x214)
<4>[ 48.831085] [<c0124d78>] (fput+0x10c/0x214) from [<c0121848>] (filp_close+0x70/0x7c)
<4>[ 48.831085] [<c0121848>] (filp_close+0x70/0x7c) from [<c006dd3c>] (put_files_struct+0x90/0xec)
<4>[ 48.831115] [<c006dd3c>] (put_files_struct+0x90/0xec) from [<c006e3d4>] (do_exit+0x2e8/0x82c)
<4>[ 48.831115] [<c006e3d4>] (do_exit+0x2e8/0x82c) from [<c006ebc8>] (do_group_exit+0x88/0xb4)
<4>[ 48.831115] [<c006ebc8>] (do_group_exit+0x88/0xb4) from [<c007b97c>] (get_signal_to_deliver+0x518/0x570)
<4>[ 48.831146] [<c007b97c>] (get_signal_to_deliver+0x518/0x570) from [<c0010104>] (do_signal+0xc4/0x4d8)
<4>[ 48.831146] [<c0010104>] (do_signal+0xc4/0x4d8) from [<c0010984>] (do_notify_resume+0x18/0x50)
<4>[ 48.831176] [<c0010984>] (do_notify_resume+0x18/0x50) from [<c000db58>] (work_pending+0x24/0x28)
<4>[ 48.831176] Division by zero in kernel.
<4>[ 48.831176] [<c00131bc>] (unwind_backtrace+0x0/0xe0) from [<c0298b44>] (Ldiv0+0x8/0x10)
<4>[ 48.831207] [<c0298b44>] (Ldiv0+0x8/0x10) from [<c04d27b8>] (msm_sensor_delay_frames+0x4c/0xa4)
<4>[ 48.831207] [<c04d27b8>] (msm_sensor_delay_frames+0x4c/0xa4) from [<c04d2ee0>] (msm_sensor_subdev_ioctl+0x6c/0x90)
<4>[ 48.831207] [<c04d2ee0>] (msm_sensor_subdev_ioctl+0x6c/0x90) from [<c04c8d2c>] (msm_mctl_release+0x48/0x238)
<4>[ 48.831237] [<c04c8d2c>] (msm_mctl_release+0x48/0x238) from [<c04cee1c>] (msm_close_server+0x78/0xcc)
<4>[ 48.831237] [<c04cee1c>] (msm_close_server+0x78/0xcc) from [<c04a5150>] (v4l2_release+0x44/0x64)
<4>[ 48.831268] [<c04a5150>] (v4l2_release+0x44/0x64) from [<c0124d78>] (fput+0x10c/0x214)
<4>[ 48.831268] [<c0124d78>] (fput+0x10c/0x214) from [<c0121848>] (filp_close+0x70/0x7c)
<4>[ 48.831298] [<c0121848>] (filp_close+0x70/0x7c) from [<c006dd3c>] (put_files_struct+0x90/0xec)
<4>[ 48.831298] [<c006dd3c>] (put_files_struct+0x90/0xec) from [<c006e3d4>] (do_exit+0x2e8/0x82c)
<4>[ 48.831390] [<c006e3d4>] (do_exit+0x2e8/0x82c) from [<c006ebc8>] (do_group_exit+0x88/0xb4)
<4>[ 48.831420] [<c006ebc8>] (do_group_exit+0x88/0xb4) from [<c007b97c>] (get_signal_to_deliver+0x518/0x570)
<4>[ 48.831420] [<c007b97c>] (get_signal_to_deliver+0x518/0x570) from [<c0010104>] (do_signal+0xc4/0x4d8)
<4>[ 48.831451] [<c0010104>] (do_signal+0xc4/0x4d8) from [<c0010984>] (do_notify_resume+0x18/0x50)
<4>[ 48.831451] [<c0010984>] (do_notify_resume+0x18/0x50) from [<c000db58>] (work_pending+0x24/0x28)
<3>[ 48.831481] msm_ispif_release: ispif invalid state 1
<3>[ 48.835815] msm_axi_subdev_release: base address unmapped
<3>[ 48.841064] msm_csid_release: csid invalid state 1
<3>[ 48.847045] msm_csiphy_release csiphy dev NULL / ref_count ZERO
<3>[ 48.852233] msm_actuator_power_down Exit:0, Addr:0x50
<4>[ 48.857360] s5k3h5xa_sensor_power_down
<4>[ 48.857391] MAIN_CAM_RESET OFF!!!
<7>[ 48.857818] [Fortius] cam_ldo_power_off_sub: Sub Off
<4>[ 48.859313] s5k3h5xa_sensor_power_down : i2c_scl: 0, i2c_sda: 0
<7>[ 48.859313] [Fortius] cam_ldo_power_off: Off
<4>[ 48.860748] check GPIO_CAM_A_EN : 1
<4>[ 48.862762] MCLK OFF!!!
<3>[ 49.655426] msm_server_control: wait_event error -110
<3>[ 49.673004] msm_send_close_server failed -1

And boot kmsg is

[ 0.000000] Truncating memory at 0xc0000000 to fit in 32-bit physical address space
[ 0.000000] sec_tsp_mode: LCD_ID = 0x501010, val: 0X501010, ret1: 0x1
[ 0.043487] AXI: msm_bus_fabric_init_driver(): msm_bus_fabric_init_driver
[ 0.043884] MSM_DCVS: msm_dcvs_early_init: Unable to initialize DCVS err=4
[ 0.067169] msm_rpm_get_status(): Status id 433 not defined for target
[ 0.067169] msm_rpm_get_status(): Status id 433 not defined for target
[ 0.067169] msm_rpm_get_status(): Status id 433 not defined for target
[ 0.067199] msm_rpm_get_status(): Status id 433 not defined for target
[ 0.067199] msm_rpm_get_status(): Status id 433 not defined for target
[ 0.067199] msm_rpm_get_status(): Status id 433 not defined for target
[ 0.067230] msm_rpm_get_status(): Status id 433 not defined for target
[ 0.067230] msm_rpm_get_status(): Status id 433 not defined for target
[ 2.958923] sensor_power_on_vdd: done
[ 3.014129] i2c i2c-4: Failed to register i2c client s5k3l1yx at 0x34 (-16)
[ 3.014312] i2c i2c-4: Can't create device at 0x34
[ 3.049865] msm_slim_ctrl msm_slim_ctrl.1: Slim-dev:3 report inf element:0x0
[ 3.050079] msm_slim_ctrl msm_slim_ctrl.1: offset:0x0:bit mask:8
[ 3.050354] msm_slim_ctrl msm_slim_ctrl.1: Slim-dev:4 report inf element:0x400
[ 3.050811] msm_slim_ctrl msm_slim_ctrl.1: offset:0x0:bit mask:8
[ 3.125823] Error-Bad Function Input
[ 3.126770] Error-Bad Function Input
[ 3.129882] msm_actuator_i2c_add_driver called
[ 3.287017] smd_channel_probe_worker: allocation table not initialized
[ 3.303039] mdm_do_first_power_on: Powering on modem for the first time
[ 3.616729] [mdnie lite] start!
[ 3.617034] [mdnie lite] end!
[ 3.619842] hdmi_msm hdmi_msm.1: external_common_state_create: sysfs group ddb1b208
[ 3.620727] Inside writeback_driver_init
[ 3.621124] Inside writeback_probe
[ 4.019470] wcd9xxx_slim_probe: failed to get slimbus tabla-slim logical address: -6
[ 4.100982] spi_qsd spi_qsd.0: chipselect 0 already in use
[ 4.105621] spi_qsd spi_qsd.0: can't create new device for jc_spi
[ 4.125457] msm_otg msm_otg: failed to get phy_clk
[ 4.299560] couldn't get usb power supply
[ 6.861450] max77693_muic_charger_cb: fail to get battery psy
[ 65.119842] synaptics_rmi4_i2c 3-0020: fwu_start_reflash: Firmware image tsp_synaptics/jactive/synaptics_b0_hsync04.fw not available
[ 65.131103] synaptics_rmi4_i2c 3-0020: fwu_start_reflash: in fw update, failed booster stop.
[ 65.139495] synaptics_rmi4_i2c 3-0020: synaptics_rmi4_probe: Failed to firmware update
[ 65.174255] imx175 spi driver probe
[ 65.176818] imx175_spi_read : Enter - reg_addr : 0x40
[ 65.182220] imx175_spi_read : Enter - reg_addr : 0x1000
[ 65.187255] imx175_spi_read : Enter - reg_addr : 0x2000
[ 65.192504] imx175_spi_read : Enter - reg_addr : 0x300c
[ 65.200622] imx175_spi_read : Enter - reg_addr : 0x1200
[ 65.205230] imx175_spi_read : Enter - reg_addr : 0x1218
[ 65.213470] imx175_format_calibrationdata: is_all_supported= 1
[ 65.218444] [shchang : imx175_format_afdata] Little Endian!!
[ 65.224273] [shchang : imx175_format_wbdata] Little Endian!!
[ 65.230072] msm_sensor_match_id: read id: 3085 expected id 3085:
[ 65.235717] msm_sensor_i2c_probe s5k3h5xa probe succeeded
[ 65.241180] msm_actuator_i2c_probe called
[ 65.245086] msm_actuator_i2c_probe client = dd5ffe00
[ 65.250000] msm_actuator_i2c_probe succeeded
[ 65.254302] msm_eeprom_probe probe_fail
[ 65.271942] msm_sensor_match_id: read id: 6b20 expected id 6b20:
[ 65.276977] msm_sensor_i2c_probe s5k6b2yx probe succeeded
[ 65.282501] msm_eeprom_probe probe_fail
[ 65.326049] mmc0: No card detect facilities available
[ 65.432708] power_supply sec-fuelgauge: driver failed to report `status' property: 4294967274
[ 65.440551] power_supply sec-fuelgauge: driver failed to report `status' property: 4294967274
[ 65.473175] power_supply sec-charger: driver failed to report `power_now' property: 4294967274
[ 65.485626] power_supply sec-charger: driver failed to report `power_now' property: 4294967274
[ 65.515960] mmc0: msmsdcc_execute_tuning: found good phase = 0
[ 65.521240] mmc0: msmsdcc_execute_tuning: found good phase = 1
[ 65.521636] msm8930_audio_init: Not the right machine type
[ 65.521636] msm_audio_init: Not the right machine type
[ 65.537750] mmc0: msmsdcc_execute_tuning: found good phase = 2
[ 65.543548] mmc0: msmsdcc_execute_tuning: found good phase = 3
[ 65.549346] mmc0: msmsdcc_execute_tuning: found good phase = 4
[ 65.555114] mmc0: msmsdcc_execute_tuning: found good phase = 5
[ 65.561065] mmc0: msmsdcc_execute_tuning: found good phase = 6
[ 65.566741] mmc0: msmsdcc_execute_tuning: found good phase = 7
[ 65.572631] mmc0: msmsdcc_execute_tuning: found good phase = 8
[ 65.578460] mmc0: msmsdcc_execute_tuning: found good phase = 9
[ 65.584289] mmc0: msmsdcc_execute_tuning: found good phase = 10
[ 65.590118] mmc0: msmsdcc_execute_tuning: found good phase = 11
[ 65.596069] mmc0: msmsdcc_execute_tuning: found good phase = 12
[ 65.601928] mmc0: msmsdcc_execute_tuning: found good phase = 13
[ 65.607879] mmc0: msmsdcc_execute_tuning: found good phase = 14
[ 65.613708] mmc0: msmsdcc_execute_tuning: found good phase = 15
[ 65.619537] mmc0: msmsdcc_execute_tuning: finally setting the tuning phase to 11
[ 65.860076] sec-battery sec-battery: sec_battery_probe: Failed to Enable Wakeup Source(-6)
[ 65.881744] 8921_l8: requested voltage range [3000000, 3000000] does not fit within constraints: [2800000, 2800000]
[ 65.891479] irda_device_init called!
[ 65.895111] barcode_emul_ice4: probe complete barcode_emul_probe
[ 65.905242] init: invalid uid 'fm_radio'
[ 65.908294] init: invalid uid 'fm_radio'
[ 66.020996] power_supply sec-fuelgauge: driver failed to report `status' property: 4294967274
[ 66.032440] power_supply sec-charger: driver failed to report `power_now' property: 4294967274
[ 66.056915] init: Unable to open persistent property directory /data/property errno: 2
[ 66.199310] disable reg_L15 failed, rc=-5
[ 66.453979] [mdnie lite] is negative Mode On = 0
[ 66.453979] [mdnie lite] negative off when resume, tuning again!
[ 66.453979] [mdnie lite] mDNIe_Set_Mode start , mode(0), background(1)
[ 66.454010] [mdnie lite] = UI MODE =
[ 66.454010] [mdnie lite] = STANDARD MODE =
[ 66.454010] [mdnie lite] send tuning cmd!!
[ 66.487121] [mdnie lite] mDNIe_Set_Mode end , mode(0), background(1)
[ 139.663330] SysRq : Emergency Remount R/O
[ 140.101013] qup_i2c qup_i2c.2: QUP: I2C status flags :0x1343c8, irq:228
[ 140.106658] qup_i2c qup_i2c.2: I2C slave addr:0x26 not connected
[ 140.381347] mdm_power_down_common: MDM2AP_STATUS went low successfully.
[ 140.387268] Restarting system.

No errors detected