New galaxy note 4 prevent emmc issue - Galaxy Note 4 General

Is there anything I can do on a new galaxy note 4 to prevent the emmc issue happening in the first place?

There was some talk about preventing overheating?

ghostwheel said:
There was some talk about preventing overheating?
Click to expand...
Click to collapse
Do I need to lower the cpu ghz? Or run some kind of app or program?

Redrainz said:
Do I need to lower the cpu ghz? Or run some kind of app or program?
Click to expand...
Click to collapse
It might help to lower the CPU speed, but you need access to root and an app to tweak the values.
Avoid gaming which is very demanding on GPU and avoid gaming for long periods of time.
Search also in the Snapdragon forum a good kernel.
Also turn off the fast charging, this can heat too much the phone.

I created a script here. It works very good, it monitors the battery temperature AND all the CPU cores temperatures, and will automatically throttle the phone if temps are too high. You can even kill some apps if the temps are to high (not yet implemented).
The difference with Samsung DVFS or integrated temperature management of kernels is that this one monitors almost all CPU sensors and also the battery, all in complete combination, and it can be easily tweaked (rather than modding a kernel). No battery hog. You can enable USB fast charge, game, etc it will still prevent overheating.
Here is the solution to eMMC error
Hello everyone, I was pretty tired of the eMMC error, and I created a script that completely annihilate this error. This error is due to the phone heating up, and the fact that custom kernels (maybe even the original kernel) don't read the...
forum.xda-developers.com

Related

[HOW-TO][MOD]Thermal throttling - screen dimming, cpu speed, charging current, etc.

When I bought Xperia T, after a while, I started to be a little disappointed with performance, autobrightness, discharging when playing, etc.
After some digging deeper into this problem, I have found, that cpu is throttled by temperature. And not only the cpu.
A few minutes of playing game, cpu goes to 800MHz, display brightness goes to level 100 (max. is 255), wall charger current is reduced (even when connected, it is discharging), radio power is reduced, etc.
Change it yourself:
Example:
xo_therm 14 -1000 380 20 NOTIFY CAM_NORMAL cpu_perflevel:1728000 charge_current_limit:0 usb_current_limit:1 modem_level0 lcd_brightnesslevel:240
xo_therm 14 = sensor step
-1000 = -100,0°C
380 = 38,0°C
20 = don't know (maybe some kind of sample rate?)
NOTIFY CAM_NORMAL = obvious (camera)
cpu_perflevel:1728000 = cpu frequency
charge_current_limit:0 = obvious (0 is 1300mA I think, 1 is 1100mA, 2 is 900mA, etc.)
usb_current_limit:1 = obvious (has impact on charging too)
modem_level0 = power of modem
lcd_brightnesslevel:240 = obvious (0 - 255)
Set the highest temperatures, with low enough frequencies and charging current values, to let phone cool down.
"gpu_perflevel" can be used too and there are some other thermal sensors in sysmon.cfg, which are also responsible for thermal throttling.
Disclaimer:
Each device is different and I am not responsible, if your device burns with some values from here.
Both CPU cores always on:
Echo 1 in /sys/devices/system/cpu/cpu1/online and change permissions to 444. And if you want to prevent errors from log (and maybe some unwanted wake locks), rename /system/bin/mpdecision to something else or delete it.
what is temp at what cpu throttles (and other things)?
seems it is lower than other devices, something like 40C, i think my sgs3s was at 76C or similar.. not sure, will check later.
sgs3 was a very hot phone.
Sent from my Xperia T
You can see the temperatures in sysmon.cfg - xo_therm 400 500 = 40 - 50°C for example. Cpu temperature, not battery. There is no tool to monitor cpu temperature, but if you set your own frequencies, you can see with Cool Tool, how long it takes to the lowest frequency.
peetr_ said:
You can see the temperatures in sysmon.cfg - xo_therm 400 500 = 40 - 50°C for example. Cpu temperature, not battery. There is no tool to monitor cpu temperature, but if you set your own frequencies, you can see with Cool Tool, how long it takes to the lowest frequency.
Click to expand...
Click to collapse
thanks, will check. i am on cm10 and didn't notice throttling yet, but i will check now as it is ****ty if so.
Sent from my Xperia T
I have noticed the throttling but it doesn't affect the performance in my case, playing games and watching HD video are fine, just annoying when the screen suddenly does dim.
Sent from my LT30p using xda premium
@OP:
If you don't want throttling, uninstall Androids inbuilt Thermal monitor(No need to tell you the risk by doing that I guess).
Thanks for you valuable advice.
Don't think it would help as that file says 2nd core off values are hardcoded
Sent from my LT30p using Tapatalk 2
I think, that it works, because I tested it and I am using my own values.
Good thing I won't be playing games when my T will arrive
https://developer.qualcomm.com/mobile-development/development-devices/trepn-profiler
Stay Informed
Trepn Profiler is currently being redesigned. Sign up to be notified when Trepn Profiler is reintroduced.
Click to expand...
Click to collapse
Still? Damn how long do they take ? -.-
Here is the .apk of the old version. No idea how much works and what doesn't!
Hello,
Could it be some kind of default on your device ? or maybe the application ?
Cause I remember Qualcomm's communicating on their S4 being "cooler" than its opponents when under heavy load.
Can someone else confirm ?
What's strange is that the game you mention (Osmos HD, which I bought some time ago for my TF101) does not even use super high end 3D graphics etc etc ... maybe the perf drop could come much quicker with some cpu/gpu intensive apps.
If confirmed, it might even become a big "no go" on this phone for me.
Nickola
nickola said:
Hello,
Could it be some kind of default on your device ? or maybe the application ?
Cause I remember Qualcomm's communicating on their S4 being "cooler" than its opponents when under heavy load.
Can someone else confirm ?
What's strange is that the game you mention (Osmos HD, which I bought some time ago for my TF101) does not even use super high end 3D graphics etc etc ... maybe the perf drop could come much quicker with some cpu/gpu intensive apps.
If confirmed, it might even become a big "no go" on this phone for me.
Nickola
Click to expand...
Click to collapse
I've had this phone for a while now and I haven't had a bit of lag while playing any game I have. Everything seems fine except the sudden dimming of the screen when playing games. Don't let this put you off buying the phone, its a great phone
Edit: been playing Osmos HD for at least 25 minutes, I'm experiencing no such lag or performance issue. Only the dimming issue I seem to get.
Well, after some more investigation, I have found, that lags in Osmos HD are not caused by cpu throttling, but wifi disconnecting.
Playing the game is fine, but still, with default settings the temperature is going high and except the screen dimming, cpu goes to 800MHz, (1 core disabled on highest temperature), and phone is discharging even when connected to wall charger.
It seems to me, that the overheating is not caused that much by cpu, but gpu. It would be nice, if it could be tested somehow by lowering the frequency of gpu.
I wonder if the heating issues could be fixed with software patches. Given Sony's desire to incorporate playstation stuff, I find it hard to believe there is some sort of hardware issue.
Wish we could get some more samples to work with.
Sent from my HTC_Flyer_P512_NA using xda app-developers app
Just measured with my settings (in the room - about 23°C):
10 minutes of playing Osmos HD without charging = 62°C CPU temp
With one core running on 1350 MHz and LCD brightness value 150, it's not increasing anymore.
When charging, the temperature will go higher. I will test it too.
peetr_ said:
Just measured with my settings (in the room - about 23°C):
10 minutes of playing Osmos HD without charging = 62°C CPU temp
With one core running on 1350 MHz and LCD brightness value 150, it's not increasing anymore.
When charging, the temperature will go higher. I will test it too.
Click to expand...
Click to collapse
Have you tried treppn profiler?
Anandtech says a CPU core draws around 450-750mW while gpu goes 800-1200mW!
Seems like 400mhz is a hard Task for an 225.
If you are still on ics maybe try jellybean? Perhaps project butter may more efficiently handle the gpu.
Maybe even make a list of "stress test" for people to try and see what the various results are.
If all else fails try undervolting the gpu and cpu.
Sent from my HTC_Flyer_P512_NA using xda app-developers app
Haldi4803 said:
Have you tried treppn profiler?
Anandtech says a CPU core draws around 450-750mW while gpu goes 800-1200mW!
Seems like 400mhz is a hard Task for an 225.
Click to expand...
Click to collapse
Yes, I tried trpn profiler provided by you, but there are limited options.
It looks like the GPU cannot handle this frequency.
Undervolting won't help anything, but lowering GPU frequency would help I guess. But this cannot be done without custom kernel, allowing this.
LegibleEel said:
I've had this phone for a while now and I haven't had a bit of lag while playing any game I have. Everything seems fine except the sudden dimming of the screen when playing games. Don't let this put you off buying the phone, its a great phone
Edit: been playing Osmos HD for at least 25 minutes, I'm experiencing no such lag or performance issue. Only the dimming issue I seem to get.
Click to expand...
Click to collapse
Same here. I've been playing Speedball 2 and GTA3 mainly but I have played a few others too and haven't experienced any lag and no performance issues observed at all.

[Q] CPU frequency throttling

hi all
im using DooMKernel for a while and when i set the maximum frequency for any speed faster than [email protected], when the cpu is on heavy load or when the phone temperature is rising above some threshold (i think it's around 45 degrees, not sure tho) - there is an automatic down throttling to stock valus (max 1.5ghz) and nothing will recover it back to modified values unless reboot or reapplying the OC via SetCPU or equivalent.
now, i know there is a 'thermal control' sort of mechanism, and i also know it probably resides both on os level and sony framework, but i wish i could disable it somehow.
i know there is a great risk of frying my XZ, but im only intend to overclock for short terms and not for a main daily usage.
a quote from DooMLoRD's post on the subject:
It has been observed that the overclocking sometimes reverts back automatically to stock settings especially after heavy CPU load and if the device heats up.
I think have found why this happens:
Android OS level
there is a binary called: /system/bin/thermald which writes lower CPU freq values to the CPU sysfs interface if the device starts heating
there is also an app "Overheat Control" which i suspect is doing something similar
Kernel level
there seems to be some sort of fail-safe in place "msm_dcvs" which resets the CPU to 918Mhz or 1026Mhz or 1512Mhz
could also be some other things i am still searching
now there are ways to circumvent these issues but given the risk of the damage associated with overclock for long time i think its in our best interest to not screw with these fail-safes...
Click to expand...
Click to collapse
if someone could plz explain how to totaly disable thermal control - it would be much appreciated.
if you totally disable them your Smartphone will shutdown every time you reach....(cant remember! think it was 75°C) SoC Temp! and you will reach that kinda fast!

Huawei p9 Overheat protection feature

i heard that the huawei p9 has their unique overheat protection feature which if the phone gets hot the phone will lower its performance level. is there any way to disable this, my phone gets slow even if its not that hot. i cant play games for too long because it lags after a few mins of playing. i hope huawei makes this feature optional
rhaegon36 said:
i heard that the huawei p9 has their unique overheat protection feature which if the phone gets hot the phone will lower its performance level. is there any way to disable this, my phone gets slow even if its not that hot. i cant play games for too long because it lags after a few mins of playing. i hope huawei makes this feature optional
Click to expand...
Click to collapse
Its not a unique feature of the P9, all the CPUs (meaning Desktops computers, Laptops computers, Phones, Tablets, etc.) and also all GPUs (Nvidia cards, AMD cards, MALI, Rouge, etc.), but in general all electronic components will lower their performance if they get too hot. This is called "Thermal Throttling". All components have a maximum working temperature, if you get close to that temperature you might experience glitches or artifacts, nothing permanent, but if you get past the Maximum temperature, you will experience heavy glitching and artifacting, crashes and heavy instability of the system, causing permanent damage too.
So to answer your question, no, you cannot disable the overheating safety feature, and there will also won't be an implementation of a switch for this feature, simply because it would kill your device.
The only solution is to better cool the phone, or reduce the heat, the first is not really a great solution, the second one would require downvolting/downclocking both the CPU and GPU, both of which require a Custom Kernel. As of right now, there are none, so you are stuck the way you are.
noki57oo said:
Its not a unique feature of the P9, all the CPUs (meaning Desktops computers, Laptops computers, Phones, Tablets, etc.) and also all GPUs (Nvidia cards, AMD cards, MALI, Rouge, etc.), but in general all electronic components will lower their performance if they get too hot. This is called "Thermal Throttling". All components have a maximum working temperature, if you get close to that temperature you might experience glitches or artifacts, nothing permanent, but if you get past the Maximum temperature, you will experience heavy glitching and artifacting, crashes and heavy instability of the system, causing permanent damage too.
So to answer your question, no, you cannot disable the overheating safety feature, and there will also won't be an implementation of a switch for this feature, simply because it would kill your device.
The only solution is to better cool the phone, or reduce the heat, the first is not really a great solution, the second one would require downvolting/downclocking both the CPU and GPU, both of which require a Custom Kernel. As of right now, there are none, so you are stuck the way you are.
Click to expand...
Click to collapse
thank you for your response, but my p9 antutu benchmark score is 99k to 65k real quick when performing the 2nd try. isnt that too much? btw when i downclock my phone does it reduce the overheating but still give the same performance?
rhaegon36 said:
thank you for your response, but my p9 antutu benchmark score is 99k to 65k real quick when performing the 2nd try. isnt that too much? btw when i downclock my phone does it reduce the overheating but still give the same performance?
Click to expand...
Click to collapse
Yes, that is a huge drop, but mine behaves similarly. When you downclock your phone you reduce the clock of the processor, which means it needs less electricity to work, which also means that it generates less heat. But reducing the clock of the processor means reducing its performance too, so no, it wouldn't keep the same performance.
noki57oo said:
Yes, that is a huge drop, but mine behaves similarly. When you downclock your phone you reduce the clock of the processor, which means it needs less electricity to work, which also means that it generates less heat. But reducing the clock of the processor means reducing its performance too, so no, it wouldn't keep the same performance.
Click to expand...
Click to collapse
i havent seen any phone that lowers its brightness when overheating, but the p9 does this and then lowers its performance sometimes even if my phone isnt that hot, it looks like a feature to me but im not sure, i hope that this is really a feature cuz if it is, theres a chance to fix it

CPU throttling down due to heat

Let me come straight to the point-- Whenever I do any CPU intensive task for long like playing heavy games, CPU heats up and automatically throttles down to like 998 or 784MHz and games start lagging. Everything starts lagging. This phone heats up pretty quickly. I have no problem with handling a hot phone but I DO NOT want the CPU to throttle down. What's the use of Snapdragon 400 when it can't handle the heat?
How can I prevent it from throttling down? (anything to do with that "thermal" section in kernel adiutor?)
Are you using custom kernel?
In kernel auditor you can set the max temp to start throttling.
JD154 said:
Are you using custom kernel?
In kernel auditor you can set the max temp to start throttling.
Click to expand...
Click to collapse
I am using decipher kernel. Where is the temperature setting?
nilanko said:
I am using decipher kernel. Where is the temperature setting?
Click to expand...
Click to collapse
In Thermal screen you should able to set a maximum temperature to start throttling (I didn't used decipher) extended kernel allow this feature
JD154 said:
In Thermal screen you should able to set a maximum temperature to start throttling (I didn't used decipher) extended kernel allow this feature
Click to expand...
Click to collapse
Decipher doesn't have this setting. Can I just turn it off? Titan heats up very quickly so CPU starts getting throttled.
nilanko said:
Decipher doesn't have this setting. Can I just turn it off? Titan heats up very quickly so CPU starts getting throttled.
Click to expand...
Click to collapse
You can't do it because heat will damage the cpu, try changing kernel to extended kernel and try.
JD154 said:
You can't do it because heat will damage the cpu, try changing kernel to extended kernel and try.
Click to expand...
Click to collapse
I was just playing NOVA 3 and it started lagging after a while and saw the CPU ramped down to 784MHz! This is really stupid! What's the use of quad core then?! If I can't even utilize it's potential just due to heat then what's the use? Is there no way to stop it from heating up so much? I switched off all the controls on thermal page but it did nothing. CPU still loves to ramp down.
Is extended kernel available for CM12.1? I can't find it.
nilanko said:
I was just playing NOVA 3 and it started lagging after a while and saw the CPU ramped down to 784MHz! This is really stupid! What's the use of quad core then?! If I can't even utilize it's potential just due to heat then what's the use? Is there no way to stop it from heating up so much? I switched off all the controls on thermal page but it did nothing. CPU still loves to ramp down.
Is extended kernel available for CM12.1? I can't find it.
Click to expand...
Click to collapse
Disable data connection, location, Bluetooth and reduce brightness to the minimum while gaming.
Maybe you have a lot of background process and the cpu load is high. You can try also changing ROM to MM (some optimization and stuff).
Extended kernel is available for 6.0/7.0 AOSP/CM
JD154 said:
Disable data connection, location, Bluetooth and reduce brightness to the minimum while gaming.
Maybe you have a lot of background process and the cpu load is high. You can try also changing ROM to MM (some optimization and stuff).
Extended kernel is available for 6.0/7.0 AOSP/CM
Click to expand...
Click to collapse
Did all that and now I can play a bit more without CPU being throttled down. I also installed halogen kernel that allows to set the temps. I set them to 100 degrees Celsius. No improvement! CPU still throttles down on reaching the default 70 degrees. This phone is totally stupid! We actually can't even use the full potential of the CPU unless we are sitting inside a refrigerator!
A very quick and easy way to fix throttling is flashing a kernel with UnderVolt support.
The only one available for Titan is Halogen Kernel
http://forum.xda-developers.com/moto-g-2014/development/kernel-halogenkernel-r1-t3133042
But be aware that some values still need optimizations, such as 1.4 and 1.5 ghz. They consume more energy than it should, making the phone more warm, but nothing compared to the stock moto values.

Thermal Settings

I have noticed the Xiaomi Mix has some persistent software thermal throttling after a short period of time.
I ran the same test on a OnePlus 3T and noticed this throttling issue is not present.
It's possible the temps to start throttling are too low on the Mix.
Is there any way to modify or increase these throttle limits?
I know this has been done before but I cannot load the Thermal conf file in /system/ etc / thermal-engine.conf
Can we replace the file with something else ?
The OnePlus forum members released several versions of the file with different throttling temps. Can we use these files or make our own.
https://forums.oneplus.net/threads/oneplus2-how-to-fix-thermal-throttling.417108/
Did you ever get any further with this? My phone idles at ~35C. I read a review that said throttling begins at ~40C so I get throttled when I do virtually anything.
I've only had this thing 2 days and the performance has been worse than my old Nexus 6 because the cores keep getting capped very low. I was copying some backed up files over WiFi from my PC. It was lots of small files so it was running for 20 mins or so. When I was trying to do other stuff in the meantime it started to get really sluggish. I used to do exactly the same thing on my N6 and I could never tell that file copying was running in the background. I checked Kernel Auditor and it was showing temps ~50C and the cores were all being capped around 5-600MHz.
I've tried the stock ROM (stable and beta) and EPIC, and Lineage/RR. It seems to be a bit worse on the latter two (Antutu won't go above 100k, but it's like 140k on the MIUI ones) for some reason, but it's an issue on all of them.
gavin19 said:
Did you ever get any further with this? My phone idles at ~35C. I read a review that said throttling begins at ~40C so I get throttled when I do virtually anything.
I've only had this thing 2 days and the performance has been worse than my old Nexus 6 because the cores keep getting capped very low. I was copying some backed up files over WiFi from my PC. It was lots of small files so it was running for 20 mins or so. When I was trying to do other stuff in the meantime it started to get really sluggish. I used to do exactly the same thing on my N6 and I could never tell that file copying was running in the background. I checked Kernel Auditor and it was showing temps ~50C and the cores were all being capped around 5-600MHz.
I've tried the stock ROM (stable and beta) and EPIC, and Lineage/RR. It seems to be a bit worse on the latter two (Antutu won't go above 100k, but it's like 140k on the MIUI ones) for some reason, but it's an issue on all of them.
Click to expand...
Click to collapse
I have absolutely gotten further here I have managed to get throttling completely disabled actually.
The highest temp the CPU got to was 42 degrees Celsius after running Dolphin for 2 hours straight.
There is no need for thermal throttling on this device at all, hardware does a good enough job clearing the heat.
To stop the thermal throttling you need root access.
Use ES File Explorer from the play store and enable root access
Navigate to root and look for Folder system/etc and find file called thermal*******.*** ( I don't remember what it's called )
Cut this file from this location and paste it into another directory. I moved it to the sdcard for easy access. This way you can move it back if you do not like the results.
I have not experienced any overheating with this, also the battery doesn't drain like crazy. Performance is greatly improved with speed matching the Snapdragon 835 in a few scenarios.
Oh yeah restart the phone after you move the file so it can register the changes. Clock the cores appropriately with Kernal Auditor to make sure it can run at full blast when it needs to. On demand is way faster than interactive.
Cheers. I actually read the links you posted and renamed the conf file. After a reboot it was flying. The problem isn't so much the throttling, it's that mine idles at ~35C already, so it was getting capped when I did virtually anything. If I run Antutu 2-3 times in a row and check the temps in Kernel Auditor it can be in the low 60s. Using other temp apps (CPUTemp) it only shows about 45C tops.
It definitely does feel pretty damn warm since I don't use a case. but I'd love to know what the 'real' temp was. I tend to believe the lower one since I got the 45C warning when using EPIC and that's exactly what the app said. it was.
My Antutu scores increased substantially too. I was sometimes dipping down to 80-90k but I regularly get ~140k now, even 160k once. I know not to go by those scores but when I could never even get above 100k it was a concern.
gavin19 said:
Cheers. I actually read the links you posted and renamed the conf file. After a reboot it was flying. The problem isn't so much the throttling, it's that mine idles at ~35C already, so it was getting capped when I did virtually anything. If I run Antutu 2-3 times in a row and check the temps in Kernel Auditor it can be in the low 60s. Using other temp apps (CPUTemp) it only shows about 45C tops.
It definitely does feel pretty damn warm since I don't use a case. but I'd love to know what the 'real' temp was. I tend to believe the lower one since I got the 45C warning when using EPIC and that's exactly what the app said. it was.
My Antutu scores increased substantially too. I was sometimes dipping down to 80-90k but I regularly get ~140k now, even 160k once. I know not to go by those scores but when I could never even get above 100k it was a concern.
Click to expand...
Click to collapse
Yeah I'm thinking Xiaomi severely limits the thermal threshold to improve battery performance.
It's kinda all they care about in Japan for some reason.
Makes for some great performance improvements without the thermal settings being active.
This setting change is almost necessary of you need some heavy work done.
Glad you were able to get this changed.
i remove thermal_8896_blabla.conf...
Honestly device become too hot for me.... backplate change during my game (Battle Bay), very different sensation... reinstall immediatly *.conf... Finally i have decent perf and cold phone and very good battery life... no more...
My opinion !
lesscro said:
i remove thermal_8896_blabla.conf...
Honestly device become too hot for me.... backplate change during my game (Battle Bay), very different sensation... reinstall immediatly *.conf... Finally i have decent perf and cold phone and very good battery life... no more...
My opinion !
Click to expand...
Click to collapse
I think our best solution would be a modified .conf file that increases the thermal threshold as opposed to completely removing it.
Until this solution is available then this is our only choice.
i agree... i think with a ROM kitchen mayve this fil can be readable... anyway @ this point, we can only hope somebody dectypt this file to support various cool modification available over XDA...
Edit /
it seems HTC make same stuff... here it is a guideline ot example...
https://forum.xda-developers.com/showthread.php?t=2455596
lesscro said:
i remove thermal_8896_blabla.conf...
Honestly device become too hot for me.... backplate change during my game (Battle Bay), very different sensation... reinstall immediatly *.conf... Finally i have decent perf and cold phone and very good battery life... no more...
My opinion !
Click to expand...
Click to collapse
I had the same issue. I was getting 165k+ in Antutu but the phone would get uncomfortably warm when doing multiple passes, or gaming for extended periods.
In the Thermal section of Kernel Auditor, I enabled the Core Control and Temperature Throttle options and the phone still gets warm, but only as warm as you'd expect. I still get ~155k in Antutu consistently and the performance in general is still very smooth. I have the CPU governor set to ondemand, and the GPU governor to simple_ondemand. All other KA settings are default.
One other thing I always do is to reduce the Window Animation, Transition Animation and Animator duration scales to .5x (1x by default). It just makes the phone feel snappier in general. Settings > Additional settings > Developer options (MIUI-based).
I'm using the latest EPIC ROM. Using RR/LOS I couldn't replicate the same high Antutu scores consistently for some reason. I quite like MIUI after years of using CM and CM-like ROMS anyway.
already reduce animation x0.5... MIUI use a lot of this animation with complex and (very long calcul) then reduce this number make device seems much faster... anyway, u right...
A custom kernel for miui base... based on Dragon XIA exist in MI5 thread... only need to play a bit to make universal... with all source we can make somthing, but no have time to play with all tutorial available on XDA or Youtube...
Only way to make device much smoother and battery friendly or Perf/Warm destructor...

Categories

Resources