yashsingh1/xdaforums huggingface dataset:
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Shreps:
I'm using now my G4 Plus as primary phone, and by doing that I formatted my SD card as Internal Storage (which is nativaly encrypted).

-> TWRP can't mount it, I post a message on the official thread but if the maintainer don't have time, maybe I will look into it

-> so CM in bringup can't mount it too :)

That means, I will not be able to continue dev for now because I can't TWRP backup my ROM anymore (no enough space in real internal storage to backup)

BTW, I'm compiling a new build by modifying a little our source based on what [MENTION=5989241]elandroido[/MENTION] changes, but not every changes

If you can try to boot it guys, and report, will be great :)
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] AmyClaraRose:
the reason twrp isnt picking it up iis your sdcard is registered as internal storage it wont be picked up anywhere else as a sdcard without it being formatted as external i had same issues with my 128gb sdcard i had to wipe it first so i could mount it in twrp
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Shreps:
Wrong, ext4 encrypted can be mounted in TWRP. It just need some lib and kernel adjustment.

And formating my SD in fat32 is a no way for me.

Envoyé de mon Moto G (4)
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] AmyClaraRose:
no i mean google marshmallow made it if you register your sdcard as internal you cant use it for anything else i have 4 phones all on marshmallow it was same case across the phones i cant use my sdcard as internal or twrp wont detect it
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
Indeed, using SD as internal is literally just that, internal memory and internal memory is not used, so why would you, it's slower. (With these specs I really can't think of a reason to swap faster internal memory for slower SD card, even if it's bigger)

I use the microSD card as interchangeable storage, as it has my TWRP backup's, Cyanogenmod images, Titanium Backup store,... I want my back-up off-device and readable by another one.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Alberto97:
Guys, you need to pick this commit to build a booting kernel with 4.9 toolchains (in other words you have to pick that commit to be able to build with TARGET_KERNEL_CROSS_COMPILE_PREFIX := arm-linux-androideabi-). At least it is needed on osprey, I don't know if athene is different. [MENTION=4493088]Shreps[/MENTION] Motorola uses f2fs filesystem for /data. Maybe that's why you can't read your sdcard mounted as internal storage.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] AmyClaraRose:
[MENTION=4480917]Alberto97[/MENTION] the legend
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Shreps:
Simply because 16GB (11GB for userland) is not enough to store my data on XT1642, so I need to use my SD card as internal storage, SD which is a U3 speed card (feeling as speedest as real internal memory 90&40MiB/s).

Again, formating my SD in fat32 for "External Storage" mode is a no way for my usage. There is no debate on this :p

But that's not the original topic, original topic is: mounting a SD card formatted as internal storage in TWRP, and the answer is "yes, it's possible".

AFAIK It's working fine for moto MSM8916, tested on Moto E2, Moto G3 and Moto X Play.

It's not the case here with the TWRP available for athene, that's why I asked on the official thread, and if there is no positive answer, I will try to look at it myself based on what has been done on moto MSM8916 :)

And my initial post was just to inform you here, that's all !
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Shreps:
Thx for the commit about toolchain :)

About storage

yes /data is f2fs, but SD Card formatted as Internal is ext4 according to mount on stock:

/dev/block/dm-0 /mnt/expand/7262d2ae-7b64-47d4-af1f-5238178d72b9 ext4 rw,dirsync,seclabel,nosuid,nodev,noatime 0 0
/mnt/expand/7262d2ae-7b64-47d4-af1f-5238178d72b9/media /mnt/runtime/default/emulated esdfs rw,nosuid,nodev,noexec,relatime,upper=0:1015:660:771,derive=multi,noconfine 0 0
/mnt/expand/7262d2ae-7b64-47d4-af1f-5238178d72b9/media /mnt/runtime/read/emulated esdfs rw,nosuid,nodev,noexec,relatime,upper=0:9997:640:750,derive=multi,noconfine 0 0
/mnt/expand/7262d2ae-7b64-47d4-af1f-5238178d72b9/media /mnt/runtime/write/emulated esdfs rw,nosuid,nodev,noexec,relatime,upper=0:9997:640:770,derive=multi,noconfine 0 0
/dev/block/bootdevice/by-name/system /system ext4 ro,seclabel,noatime,discard,data=ordered 0 0
/dev/block/loop0 /system/lib/modules ext4 ro,seclabel,noatime,data=ordered 0 0
/dev/block/bootdevice/by-name/userdata /data f2fs rw,seclabel,nosuid,nodev,noatime,nodiratime,background_gc=on,discard,user_xattr,inline_xattr,acl,inline_data,nobarrier,active_logs=6 0 0
/dev/block/bootdevice/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,data=ordered 0 0
/dev/block/bootdevice/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/bootdevice/by-name/dsp /dsp ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/bootdevice/by-name/modem /firmware ext4 ro,context=u:object_r:firmware_file:s0,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/bootdevice/by-name/fsg /fsg ext4 ro,context=u:object_r:fsg_file:s0,nosuid,nodev,relatime 0 0
/dev/block/bootdevice/by-name/oem /oem ext4 ro,context=u:object_r:oemfs:s0,nosuid,nodev,relatime,data=ordered 0 0
tmpfs /storage tmpfs rw,seclabel,relatime,size=945860k,nr_inodes=177508,mode=755,gid=1000 0 0
/mnt/expand/7262d2ae-7b64-47d4-af1f-5238178d72b9/media /storage/emulated esdfs rw,nosuid,nodev,noexec,relatime,upper=0:1015:660:771,derive=multi,noconfine 0 0
/dev/block/loop1 /su ext4 rw,seclabel,noatime,data=ordered 0 0

I will ask Sultan, but I think it's encryption related

(on msm8916-common, all encryption libs and bin are pushed in the TWRP branch)
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] elandroido:
Just some info for the guys who forked my repo https://github.com/elgithubo/android_kernel_motorola_msm8952:

I am sorry for eventually having caused some inconveniences with my action but I found no other solution.

I have deleted and recreated the repo. (I know this is bad).

But I wanted to fork ashwinr64's repo since I am switching to a stock based kernel. And since [MENTION=4493088]Shreps[/MENTION] did also fork from ashwin's repo, github did not allow me to do another forked telling me that I had already forked that repo.

My mistake was I totally had overseen that Shreps had integrated elementalx stuff in the last days.

I am not a big git pro, so I hope I did not cause a mess. :(

Anyhow my repo combination still compiles and boots fine.

---------- Post added at 04:45 PM ---------- Previous post was at 04:42 PM ----------

Okay no need to panic...

Github is really smart obviously and rebased the forks of my repo as forks of [MENTION=4493088]Shreps[/MENTION] repo and added my commits.

Everything clean... Puuuuh...
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] khaoticking:
Flashes and boots fine on the xt1625 runs well except for the whole no mobile data or wlan
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] elandroido:
I have built a new image, this time based on stock motorola kernel for those who want to test:

https://www.androidfilehost.com/?fid=24591000424951500

Still no telephony, data or wlan... This will be the next task...
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] :
Just curious, does cam and other sensors work?
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] magdeoz:
This works in xt1621??
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] elandroido:
no one reported for the xt1621 so far.

you can take a backup, flash and report the result here, that would be nice.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] elandroido:
Cam does not work. Don't know about the other sensors...
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
I've been building TWRP with my own kernel source (Motorola's source ditched into the tree and snagged kernel defconfig from stock boot.img), maybe that would help you.

Edit: Switched back to your sources, they at least compile with my kernel. Need to figure out why it won't boot. Looks like I need to combine a few steps.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] ashwin007:
Hello Guys,

I worked on this project nearly a month ago , and didnt have time to continue it. The current status is that , the ROM boots and nothing more. I see other people have also have forked my repos to work on it , its high time we collaborate . Also, since I don't have a device, I need an army of testers with decent bandwidth and know-how to take logs. Please ping me in hangouts (ashwinr64@gmail.com) if you are really interested in contributing . And also this placeholder thread is non sense . Mods kindly help.

P.S:All my sources can be found here:

https://github.com/ashwinr64/
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] LenAsh:
Thread moved to a more general sub-forum whilst it's in the "formation" stages... PM one of us if the situation changes and we can move it back, subject to eligibility.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Shreps:
TWRP with encryption support: http://xdaforums.com/showpost.php?p=68021714&postcount=42
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
I wouldn't mind adding a few developers to the MotoG4 github. Could speed up things a lot.

At the moment I'm stumped on why the build that builded nicely tesreday morning, now fails...

Package OTA: /usr/local/src/cm/android/system/out/target/product/athene/cm_athene-ota-7063fbf054.zip

Given a target-files zipfile, produces an OTA package that installs
that build. An incremental OTA is produced if -i is given, otherwise
a full OTA is produced.

Usage: ota_from_target_files [flags] input_target_files output_ota_package
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] elandroido:
I am currently trying to bring up RIL.

I seem to get further but not to the target yet.

What is missing on my CM build seems to be the following service:

root@athene:/ # service list | grep qcom
117 vendor.qcom.PeripheralManager: [vendor.qcom.IPeripheralManager]

This service seems to be missed by rild after having fixed some other issues rild had.

Now I am researching in stock rom since ours, but did not get further information about this service.

Any ideas?
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
Yes, first build that boots.

What works: screen, kernel.

What doesn't work: rest. (gsm and wifi don't work, rest untested)

Updated OP. Moving the branch that resulted in the correct build to cm-13.0.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Silesh.Nair:
Progress. All credit to [MENTION=6024615]ace312[/MENTION].
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] zack1175:
Wifi works!!!!?
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Silesh.Nair:
Yup
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] ace312:
yep! it works. see the screenshot.

Also, to the other developers, a deodexed qcrilmsgtunnel.apk causes this:

Failed to parse /system/priv-app/qcrilmsgtunnel: Signature mismatch for shared user
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
Nice, which github is yours, so I can incorporate the fixes in the tree. (or I can add you to the dev group, so you can update the sources yourself)

Edit: I'm currently doing a rebuild, but with the libs and binaries from my XT1622 instead of the ones in the vendor repo. Just to see if that results in a booting image. I already got the settings from my system img, that helped a bit with the thermal warnings. (At least, I guess that's what the red border of the screen means)
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] butchieboy:
Well call me crazy...but I decided to try this on Retail XT1625.

It flashed..booted. while booting kept getting a RED border that kept flashing around the edge of screen. Then I got this popup.

Note 4..Marshmallow SmoresV1

---------- Post added at 05:03 AM ---------- Previous post was at 05:00 AM ----------

This is as far as I could get. When I clicked ok it resulted with the same popup. I know this wasnt for 1625 just thought I would try it...lol thanks for the hard work your putting in.

Note 4..Marshmallow SmoresV1
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] skalnas:
I recently bought the x1625. I am also anxious to flash this once it is a little more polished. Why wouldn't it work with x1625? As far as I can tell the specs between the two is the storage space, 1622 has 32 gb, 1625 has 16gb. I didnt see any other hardware differences, am I missing something? Good work so far, looking forward to progress!
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] butchieboy:
I could be wrong so someone correct me if I am. I think this is still a work in progress. I was just anxious so I thought I would give it a try. I hope the hard working developers get things figured out, I love this device. I have 2 Note 3's a Mega Note 4 and a Note 2 and I have been using Moto G4 as my daily..its awsome for a midrange device.

Moto G (4)
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
I got the same on the XT1622, so it looks like the image behaves the same on all devices. Doing a recompile now with some changes. With some luck it'll improve.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
Yep, very much a work in progress, getting something booting took long enough, only thing I managed to get working was sound (playback and recording).

I'm hoping the current build (running) has wifi and/or working ril.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] butchieboy:
Well sir we appreciate the time you are putting in for this awsome lil device.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
I'm learning a lot and to be honest, I want cm on the G4 as much as anybody else. (maybe even a tiny bit more, as I started messing with the sources :D )
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] fix-this!:
Appreciate you learning how to build this. Are you working alone on this or as part of a team? Doesnt really seem like any other development is happenning for the g4 and g4 plus. Cant wait to get a build to test. Getting bored with stock.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] skalnas:
I just upgraded to your version of twrp from twrp-

3.0.2.-0.athene-img. Prior backup took about 21 minutes to

complete, took another backup with your new version, took

only 11 minutes on my xt1625. Not sure what you did, but I love it,

also love the theme! Thanks very much for your efforts on my beloved

new device!
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Shreps:
There are many dev on this device. But no one will post until having a build daily usable (with a minimum of hardware working).

Be patient :)
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] jgvinholi:
I thank you and all the other developers for the hard work you're commited to.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] MadGoat:
Agreed!
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] TerryXP2600:
I want to thank all of you guys for developing this build, i love CM and i'll install it when RIL works.

Thank you and keep the good work!
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] ashwin007:
Yes we have builds with working RIL, WiFi,camera, fingerprint(g4plus), GPS.We are expecting to fix few other stuff before release.

So yeah, beta builds are around the corner :)
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] butchieboy:
Shreps...

Really diggin your Twrp thanks for this.

Note 4..Marshmallow SmoresV1
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Prabhat00:
Thanks [MENTION=5426059]ashwin007[/MENTION]

We thanks u all for urs hard-working
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] skalnas:
I installed elgithubo's 8/11 version of cm13 on my xt1625. Red flashing border

during cm setup, but the setup continued. otherwise install went smooth,

except for error msg no sim card detected during cm setup.

Seems this is coming along nicely;)
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Silesh.Nair:
Shouldn't be long for a test build. All issues have been fixed. Works great.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] khaoticking:
We are currently working on the no ril for the xt1625 is your model single or multiple sim?
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] butchieboy:
My Xt1625 is single sim. Know you didnt ask me but I though I would chime in since same thing happened to me a week ago..lol

Note 4..Marshmallow SmoresV1
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] skalnas:
khaoticking,

Thanks for the reply. My x1625 is a single sim.

Butchieboy, least it's not just me that's getting anxious
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] butchieboy:
Lol we flashaholics need our fix. Buying a Moto X Pure today.

Note 4..Marshmallow SmoresV1
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] redbeard1083:
If you need testers, I'll volunteer. XT1625.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] cool_sid:
I have XT1643 and I see that OP is building for XT1622. So will the builds be same or is that a complication?

I am willing to test the builds for/on XT1643

Gr8 work guys. Cheers:good:
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Silesh.Nair:
Builds for 1643 work about 95%. Only small niggles left to sort out. The issue is with 1625 single sim model.

I have the 1643 model and RR's been my daily driver for a couple of days. Users will get the builds when Ashwin thinks its ready to give out a test build. So patience is the key...
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] cool_sid:
Do the sensors work in Resurrection remix? Especially the fingerprint sensor?

I'm so excited...... Plz release the test builds I try as soon as u post it.......

---------- Post added at 07:04 AM ---------- Previous post was at 06:58 AM ----------

Can u post the link to the resurrection remix if it's on any cloud or file hosting site, plz...? I'm a gr8 fan of RR..
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Silesh.Nair:
Sorry sir. No release until an unofficial cm thread pops up. All sensors seem to be working. Fingerprint works awesome.

http://cloud.tapatalk.com/s/57b023ebeb04e/Screenshot_20160814-132423.png?
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] fix-this!:
will the US unlocked g4+ 1644 be supported?
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Silesh.Nair:
Its definitely up now. Go test guyz....

http://xdaforums.com/moto-g4-plus/development/rom-cyanogenmod-13-0-moto-g4-g4-plus-t3439348
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] ace312:
Patience, my friend :p
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Silesh.Nair:
Lol. I though he copied the OP.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] skooter32:
Its unfortunate that ril dont work on single sim variant but all is good the devs on here are superb thanks
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Silesh.Nair:
As promised.

https://mega.nz/#!RkcEUCAZ!JInmS1lialjj6TC6JQGKaRCmI-o8rsyKKrmcaZGditI

cd3bf959cbb613f31e3c8b6ece30eb83 ResurrectionRemix-M-v5.7.3-20160815-athene.zip
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
Ok, [MENTION=5426059]ashwin007[/MENTION] got a good build, so I guess I'll leave the real build to him. See his thread for his development and builds. I'll just start digging in his code to see where I went wrong and I hope I can help with the stuff that's still not working nicely, like selinux and sound (I had no problems in the build that got past the cm configuration, I'm curious if that was pure luck :D )
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] cool_sid:
Thanks a million......! I just try downloading it (first time using mega).......

Thank u dude

---------- Post added at 08:25 AM ---------- Previous post was at 08:24 AM ----------

It works on xt1643 btw...?
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] Silesh.Nair:
Yes. I have the same device, the 3/32gb version.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
Great, started messing with sources to learn something and hoping I could get things working. Still need to learn a lot.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] cool_sid:
Could u plz get it on Google drive coz the link is not available...... What is shows me is attached....

I have mega app too.....
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] khaoticking:
The mega link worked for me
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
Ok, I've been been working with [MENTION=5426059]ashwin007[/MENTION] his sources and I'm battling with the correct way to detect single/dual sim. At the moment I'm at the stage I've killed off dual sim, as the detection is not going right. I hope to have this fixed today. If someone wioth a singne sim XT1622 can test that would be great.

Sound works, as long as you don't expect ringtones/notification sounds and stuff like that. Looks like Moto G4 (athene) and Moto G4+ (Athene_f) are different devices after all.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] stehaworth:
I can test ....
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] skooter32:
Yea a dont mind flashing it
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] RBMattos:
Will this work on xt1626?
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] cool_sid:
It should work but take a backup before flashing
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] NexusFan9219:
What about xt1625? Single sim g4? Will it work?
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] patdroid1:
Nope...not yet...does not recognize SIM
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] cool_sid:
It does boot after flashing but the SIM is not detected..... So it's a bug..... But yes it probably would boot..
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] NexusFan9219:
Tested for a few minutes. everything seemed to work, except sim card. If anyone needs more testing on xt1625 I could help.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
Ok, uploading a new build, with the default to single sim my dual sim setup is correctly detected. Still having issues with ringtones, but with some luck the current compile will solve that.

Updated OP.
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] NexusFan9219:
How can I download the new build? Using the same link? Noob question
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] cool_sid:
Hey man is this build using Ashwin's sources? Coz u got the same bugs.

I have media errors here too. And then the SIM errors, I face blackouts when opening apps and even settings....

Using xt1643.

Why are there two threads on XDA when u are doing the same things and building the same rom?

I'm just saying...... No offence pal
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] T_I:
That's easy, I started the thread to get development going. Several developers had sources, none working.Ashwin got the build mostly working first. I decided to keep this thread open as he's developing for the XT164x models and I have a XT1622.

I've extended on the sources for the model I own and it looks more stable, I even started to use it as a daily. (Nice an quiet without ringtones) I found a possible cause of this issue. Building with some alterations in the hope that, next to sim detection and memory detection, I get ringtones working. Kinda crucial for a phone.

Sent from my T810 running cm-13.0
[Moto G4 ROMs, Kernels, Recoveries, & Other Develop] khaoticking:
But he isn't just developing for the xt164x models he is developing a unified rom all of his team have different models of the g4 and g4+