[Q] F2FS or other filesystem support? - Galaxy Tab S Q&A, Help & Troubleshooting

I noticed that the CyanogenMod repository for the klimtwifi kernel contains a directory for f2fs and btrfs:
https://github.com/CyanogenMod/android_kernel_samsung_klimtwifi/tree/cm-12.0/fs/f2fs
https://github.com/CyanogenMod/android_kernel_samsung_klimtwifi/tree/cm-12.0/fs/btrfs
Click to expand...
Click to collapse
While all the Linux 3.4+ source code releases that I've browsed include btrfs as an experimental .config option, I have yet to see this support actually compiled and enabled in a running Android device.
I'm intrigued however by the presence of f2fs in the klimtwifi kernel repostory, something which I don't see in the kernel repostories of, for example, the LG G Pad 8.3 (v500) or Samsung Galaxy Tab Pro 8.4 (mondrianwifi).
So I'd like to know is there actual kernel support for f2fs, btrfs and other more exotic Linux filesystems? Can anybody give me the output of the following terminal command in a Galaxy Tab S running Cyanogenmod or at least a custom kernel?
Code:
cat /proc/filesystems
Thanks

Related

[REF] cifs.ko for samsung galaxy s [including froyo 2.2]

This is the kernel module for smb/cifs mount.(windows shares)
You need it for example for this: hxxp://forum.xda-developers.com/showthread.php?t=756158
I didn't found a compatible cifs.ko for samsung s anywhere so I had to compile it.
[recommended] cifs.zip - Eclair(2.1)
[recommended] froyo.zip - Froyo(2.2) - cifs.ko & slow-work.ko (insmod slow-work.ko first)
cifs_froyo_slow_work.zip - Froyo(2.2) - cifs & slow_work in one .ko Do NOT use this because its buggy (slow, reboots when rmmod)
could you pls explain what is this for? Experts needn't, but there're lots of newbies hangin aroud here, like me . Thanks
It's a kind of file system like ext2/3/4, for example.
Sent from my GT-I9000 using Tapatalk
This is the kernel module for smb/cifs mount.(windows shares)
You need it for example for this: hxxp://forum.xda-developers.com/showthread.php?t=756158
I didn't found a compatible cifs.ko for samsung s anywhere so I had to compile it.
Awsome. We can now mount samba shares! Freakin awsome
Sent from my Apple Newton 2100
You have my gratitude
Very usefull! thank you!
i'm back, when i'm trying an insmod i have cifs.ko : invalid module format
i use a jm5 samset 1.9f roms.
I use jm5 (mimocam's fix + root) and I've compiled the module from source-code provided by samsung (opensource.samsung.com) using arm-none-eabi-(Sourcery G++ from codesourcery.com). Maybe samset used something else which is incompatible.
ickyboo said:
Sent from my Apple Newton 2100
Click to expand...
Click to collapse
Bwahahahaha
ethanfel said:
i'm back, when i'm trying an insmod i have cifs.ko : invalid module format
i use a jm5 samset 1.9f roms.
Click to expand...
Click to collapse
Setenza said he'll add Cifs in the next SamSet release.
can you make one that is compatible with the Vibrant version? Either stock Vibrant kernel or any working kernel compatible.
Greatly appreciated
I've tried the module, but also get the "invalid module format" message.
However, I'm using JM5 + root using kernel 2.6.29 built on Fri Jul 30 15:12:44 KST 2010 armv71 GNU/Linux
Can you tell us for which kernel you've build this module?
thoriam said:
I've tried the module, but also get the "invalid module format" message.
However, I'm using JM5 + root using kernel 2.6.29 built on Fri Jul 30 15:12:44 KST 2010 armv71 GNU/Linux
Can you tell us for which kernel you've build this module?
Click to expand...
Click to collapse
I've compiled for kernel 2.6.29.2 using samsung's sources
my phone says he has kernel 2.6.29 [email protected] #1
I'm attaching the module compiled with latest toolchain I could find(binutils-2.20.1, gcc-4.5.1,newlib-1.18.0)
ctran81 said:
can you make one that is compatible with the Vibrant version? Either stock Vibrant kernel or any working kernel compatible.
Greatly appreciated
Click to expand...
Click to collapse
No idea if will work bc I don't have a Vibrant.
In the mean time I've also compiled my own version of the cifs.ko module.
I've used the Samsung sources and used the Sourcery G++ Lite 2010q1-188 for ARM EABI toolchain.
I've only enabled cifs in the kernel config and compiled the module.
I've attached the compiled result.
Thanks for your effort. I'm using JM5 +samset1.9f and couldn't get the cifsmanager to work with all 3 of your cif.ko . I've just dont know why the size the last 2 versions are huge compare to the first one? Thanks anyway. Hope you can come up with something.
thoriam said:
In the mean time I've also compiled my own version of the cifs.ko module.
I've used the Samsung sources and used the Sourcery G++ Lite 2010q1-188 for ARM EABI toolchain.
I've only enabled cifs in the kernel config and compiled the module.
I've attached the compiled result.
Click to expand...
Click to collapse
darkbyt3 said:
no idea if will work bc i don't have a vibrant.
Click to expand...
Click to collapse
thank you very much. It's working on my stock vibrant kernel! YOU ROCK SIR! (using attached vibrant.zip)
Now I can stream all my media files!
(I'm vary curious how you did this, if you can point me to some guides that would be awesome, (I can write some C/C++ code))
Works great for me - had been looking around to see if anybody had compiled the CIFS module for the Galaxy S. I started reading up on how to cross compile kernel modules myself but didn't get very far.
Anyway; I have a slight problem. while mounting and browsing from the terminal as root and through adb as non-root work, I can't seem to browse in any mounted folders actually on the device using either the stock 'My Files' or Astro which was what I was aiming to do.
What I do to mount said:
\\\\192.168.0.0\\Directory /sdcard/smbshare -o user=Username,pass=password,uid=1000,gid=1015
Click to expand...
Click to collapse
Without setting the user and group settings I can't browse unprivileged as everything in the share is 'owned' by root.
I also tried using mount -t smbfs //192.168.0.0/Directory /sdcard/smbshare with the same result.
Anybody else having a similar problem? Maybe it's just something obscure about my setup.
thoriam said:
In the mean time I've also compiled my own version of the cifs.ko module.
I've used the Samsung sources and used the Sourcery G++ Lite 2010q1-188 for ARM EABI toolchain.
I've only enabled cifs in the kernel config and compiled the module.
I've attached the compiled result.
Click to expand...
Click to collapse
Sorry for the noob questions:
- Can you please give more details on how to enable cifs in the kernel config?
- Is there a specific plate to copy the cifs.ko module?
- Is there a simple (one-click) way to install this?
- is the module dependent on the kernel version? has to be exactly the same?
- is there a easy way to check if it's working (I'm using cifsmanager and get some error saying cannot access device / folder not found -not sure about the exact message text)
Thanks in advance

[Q] [PORT][Kernal] How Do I Get Started

I was Wondering How Do I Get Started Porting This Kernel I Know How To Make Roms because I Can From Android forums, Never Did Kernels Or Kernels Ports So How Do I Get Started.... The sources Are Here
Sources :-
Sources at*http://github.com/gokhanmoral/siyahkernel-sgs3
Ramfs at*http://github.com/gokhanmoral/ramfs-sgs3
Toolchain at*http://github.com/gokhanmoral/android_prebuiltSimply clone all to a directory and run build_kernel.sh in the kernel directory
Porting a Kernel primarily modifies the Ram Disk. You will need to get correct drivers from Samsung's source or from CM device tree. In addition, you have to make sure the Governors and Schedulers in Siyah are actually supported on this chipset.
Here's few Guides. Link 1 Link 2 and CM Build Guide
Most important of all, ask the Original Dev for permission!!!

fhd kernel ( ZE551 ) & POSSIBLY hd (ZE550) with KVM & Bridge compiled. *need help*

fhd kernel ( ZE551 ) & POSSIBLY hd (ZE550) with KVM & Bridge compiled. *need help*
MODERATOR NOTICE:
All thread posted in the Development section must have a link to kernel sources to meet GPLv2 requirements. Because this thread does not have proper sources linked and because development has stopped, the thread has been closed.
This is my first time working with Android kernels, but I compiled the 2.12.40 kernel source adding in support for KVM ( Kernel supported Virtual Machines, ie running Windows almost full speed ) and Bridge ( to allow qemu-kvm to set up network adapters bridged with the current wifi adapter ).
I tar'd the bzImage & modules, but don't know what to do to make something installable/flashable so will need help on that end of things.
Edit:
I uploaded a new flashable kernel img based off 2.19. This one should support: kvm, bridge and NTFS read/ *LIMITED* write, swap and ignore kernel module signatures. XDA only allows 8mb for .img files, so I tar'd it.
Edit2:
I compiled a ZE550 kernel ( called hd ) and if some brave souls want to try it, I also put together a boot.img.
Edit3:
New fhd kernel has been compiled with additional usb modules. Kernel should now load kvm related modules automatically, so you shouldn't need to use the script anymore.
Anyone brave/crazy enough to try it out? I'm guessing you need an unlocked bootloader & root.
Edit 4:
New fhd & hd kernels for 2.20
Edit 5:
New exfat.ko module
ycavan said:
This is my first time working with Android kernels, but I compiled the 2.12.40 kernel source adding in support for KVM ( Kernel supported Virtual Machines, ie running Windows almost full speed ) and Bridge ( to allow qemu-kvm to set up network adapters bridged with the current wifi adapter ).
I tar'd the bzImage & modules, but don't know what to do to make something installable/flashable so will need help on that end of things.
Anyone brave/crazy enough to try it out? I'm guessing you need an unlocked bootloader & root.
Click to expand...
Click to collapse
Why 2.12? 2.18 kernel source is available...
That just happened to be the kernel source linked in Android development. If this test works out, I can probably do the same thing with whichever kernel source is available.
Our phones are pretty amazing to be able to compile their own kernels natively on the device.
Sent from my ASUS_Z00AD using XDA Free mobile app
Finally able to compile the 2.18 kernel.. it's a bit weird since it acted like it was missing some files. Untar'd the 2.18 kernel source over 2.12's kernel source and that allowed it compile.
Anyway, it's in the OP called fhd_kernel_20150629.tar and should have KVM ( kernel supported virtualization ), Bridge ( for Qemu-KVM to create bridging ethernet adapters ) & NTFS Read/ *LIMITED* Write.
Once again, it's in the form of bzImage and the modules since I don't know how to replace the kernel on Android devices. ( normally, I'd just make a test linux line in the boot menu for Linux )
One suggestion would be to flash the zImage using
Code:
fastboot flash zImage nameofzImage
or test it using
Code:
fastboot boot nameofzImage
but I dont know if the phone supports the "boot" command.
I´m not sure about the modules either and I can´t test it, as my phone didn´t arrive yet.
Other solution, try this:
http://forum.xda-developers.com/showthread.php?t=2670512
ycavan said:
Finally able to compile the 2.18 kernel.. it's a bit weird since it acted like it was missing some files. Untar'd the 2.18 kernel source over 2.12's kernel source and that allowed it compile.
Anyway, it's in the OP called fhd_kernel_20150629.tar and should have KVM ( kernel supported virtualization ), Bridge ( for Qemu-KVM to create bridging ethernet adapters ) & NTFS Read/Write.
Once again, it's in the form of bzImage and the modules since I don't know how to replace the kernel on Android devices. ( normally, I'd just make a test linux line in the boot menu for Linux )
Click to expand...
Click to collapse
Can I ask how you included NTFS r/w support into your kernel? Did you just set the CONFIG_NTFS_FS flag?
TheSSJ said:
Can I ask how you included NTFS r/w support into your kernel? Did you just set the CONFIG_NTFS_FS flag?
Click to expand...
Click to collapse
I added CONFIG_NTFS_FS=m ( you could set to that y ) and CONFIG_NTFS_RW=y in /{working directory}/device/asus/moorefield/fhd/mofd_fhd_diffconfig
when you make the kernel, it's going to ***** about the config files not matching; follow the directions and manually update all of the other config files and it will finally compile.
Building for Android is a pita. )
Well, then here come the disappointing news (I discovered that when I wanted to include NTFS USB-OTG support directly by the kernel for my TWRP and it didn't mount it as R/W):
CONFIG_NTFS_RW is just a partial write support. It won't create files or folders, it can only overwrite existing files and only by the size they currently have
config NTFS_RW
bool "NTFS write support"
This enables the partial, but safe, write support in the NTFS driver. The only supported operation is overwriting existing files, without changing the file length. No file or directory creation, deletion or renaming is possible. Note only non-resident files can be written to so you may find that some very small files (<500 bytes or so) cannot be written to.
Click to expand...
Click to collapse
Only possibility available is to include ntfs-3g driver using fuse
Yeah, that is a bit of a downer. Now to figure out why nobody finished the NTFS kernel module.
ycavan said:
Yeah, that is a bit of a downer. Now to figure out why nobody finished the NTFS kernel module.
Click to expand...
Click to collapse
Please keep me posted, I'd like to remove the dependency of ntfs-3g in recovery. I fear there actually is no native support of NTFS (googling was not helpful unfortunately)
1) modify module loading function to ignore module version/magic strings.
2) compile the kernel with toolchain used by ASUS (or close to it)
3) use pre-compiled tntfs.ko from original boot.img
I don't have right now the patch for module loading procedure. Need to check old Galaxy S3/S4 custom kernels source (but it's should be easy to patch by finding error string). In time when exFat module source wasn't available, this trick was very common in samsung custom kernels for exFat support.
Thanks
Wait wait wait. Did I read that correctly? Full speed windows? On the zenfone? I think I just died. Does this mean windows 8/10 or windows xp and below?
I know a bit about android kernel, and i'm thinking about buying this device. Well, i'm going to try to build a kernel for this device as soon as i got this device. One thing you should know is, android is an open-source, so before you uploading your compiled kernel, make sure you have already uploaded the sources
LUCKYSHOT52 said:
Wait wait wait. Did I read that correctly? Full speed windows? On the zenfone? I think I just died. Does this mean windows 8/10 or windows xp and below?
Click to expand...
Click to collapse
It's only in theory.
In reality, there is no Z35xx support in windows, and i doubt anyone will write drivers by himself (windows isn't opensource). Officially Z35xx is Android-only SoC.
FajarMF28 said:
I know a bit about android kernel, and i'm thinking about buying this device. Well, i'm going to try to build a kernel for this device as soon as i got this device. One thing you should know is, android is an open-source, so before you uploading your compiled kernel, make sure you have already uploaded the sources
Click to expand...
Click to collapse
The source is already available, so no worries there, since this is source that Asus released.
For all of the brave folks out there, I was finally able to create a bootable image of the latest 2.19.20 kernel. Anyone brave enough can find it in the OP.
I flashed it and my phone booted up, so that's a bonus.
ycavan said:
For all of the brave folks out there, I was finally able to create a bootable image of the latest 2.19.20 kernel. Anyone brave enough can find it in the OP.
I flashed it and my phone booted up, so that's a bonus.
Click to expand...
Click to collapse
is there extra features such as other governor or i/o scheduler?
cangcan said:
is there extra features such as other governor or i/o scheduler?
Click to expand...
Click to collapse
To be honest? I can't remember since my main focus was getting kvm compiled in.
I've attached my .config for the 20150707 build ( in the boot image ).
I've also attached a screenshot of Windoze 7 being installed.
Commandline for Arch Linux x86_64 to start qemu-kvm to install windoze:
qemu-system-x86_64 -display none -vnc :1,password -monitor stdio -m 1G -smp 4 -enable-kvm -drive file=/mnt/0/machine1.img,format=raw -cpu host -cdrom /mnt/MicroSD/Vcd/en_windows_7.iso -boot menu=on --usbdevice tablet
breakdown of the command line:
-display none = no display, I did this to test the virtual machine. normally, you would probably use -display sdl w/ XServer-XSDL running
-vnc :1,password, This says to set up a vnc server with normal port + 1 ( 5901 ) and you expect a password to be set later
-m 1G, 1 gig of ram
-smp 4, our VM will use 4 cores
-enable-kvm, enable Kernel support Virtual Machines
-drive file=/mnt/0/machine1.img,format=raw, my "disk" file
-cpu host, use the same cpu information
-cdrom /mnt/MicroSD/Vcd/en_windows_7.iso, my Windows 7 install cd turned into an iso
-boot menu=on, enable the boot menu ( hit F12, etc.. )
--usbdevice tablet, Qemu's Vnc server sucks at tracking mouse positions so using tablet mode keeps the mouse pointer .. well on-point
Tks for share
Kernel great work
But how to install window 7 ? ?
Gửi từ ASUS_Z00AD của tôi bằng cách sử dụng Tapatalk

Android 7.0 on wave - Possible?

Dear @Alberto96 @volk204 @fire855 and @hero355.
Is it possible to port android 7.0 into our Wave's?
Android 6.0 is great.. But I know, that you can make 1 more step.
Can you..?
Hello,
it's possible to compile N for the wave... But I don't really see the use in it...
Wave's ram is too low....using android 7 with it will be so slow
Honestly best ROM made for wave till now is ICS....it is fast and uses less ram
Best Regards
yes
yesterday , galaxy s1 has released cm 14
so lt will be posible
---------- Post added at 09:31 AM ---------- Previous post was at 09:25 AM ----------
ghostbiceps said:
Dear @Alberto96 @volk204 @fire855 and @hero355.
Is it possible to port android 7.0 into our Wave's?
Android 6.0 is great.. But I know, that you can make 1 more step.
Can you..?
Click to expand...
Click to collapse
yes
yesterday , galaxy s1 has released cm 14
so lt will be possible
Very possible. @fire555 you can apply commits from kernel N of S1 to Wave and port CM14 of S1 to Wave?
You can tell me version of gcc to build kernel for wave? Thanl you
i´m patched commits to boot android 7.0 for wave from ss s1 via source kernel of @Coldwindofnowhere
check here https://github.com/thinhx2/android_kernel_samsung_aries @fire855 tell me version gcc to build kernel for wave. thank
thinhx2 said:
i´m patched commits to boot android 7.0 for wave from ss s1 via source kernel of @Coldwindofnowhere
check here https://github.com/thinhx2/android_kernel_samsung_aries @fire855 tell me version gcc to build kernel for wave. thank
Click to expand...
Click to collapse
Using GCC 4.7 should be fine. Maybe newer too.
fire855 said:
Using GCC 4.7 should be fine. Maybe newer too.
Click to expand...
Click to collapse
You can send me link of gcc 4.7?
@fire855
thinhx2 said:
@fire855
Click to expand...
Click to collapse
Because you're not building inline (eg the kernel with the ROM), you need to remove the leading "source/" from the paths in usr/wave_initramfs.list
BTW, I'm assuming you're building AOSP, otherwise you should be building the kernel with the ROM.
xc-racer99 said:
Because you're not building inline (eg the kernel with the ROM), you need to remove the leading "source/" from the paths in usr/wave_initramfs.list
BTW, I'm assuming you're building AOSP, otherwise you should be building the kernel with the ROM.
Click to expand...
Click to collapse
I try make zImage bug dont complete,i had change nam folder aries to source but have bug same first build. I dont see file initramfs_data.cpio in urs
thinhx2 said:
I try make zImage bug dont complete,i had change nam folder aries to source but have bug same first build. I dont see file initramfs_data.cpio in urs
Click to expand...
Click to collapse
I think you misunderstood me. You need to edit the file in KERNEL_SOURCE/usr/wave_initramfs.list (where KERNEL_SOURCE is the folder you downloaded the kernel source to), removing "source/" from any of the lines in that file that have it.
However, because you seem to be trying to just build the zImage, you need a prebuilt ramdisk.cpio and ramdisk-recovery.cpio as the ramdisks are built into the kernel (however the i9000 and series have switched them over to their own partitions on 7.0, see https://github.com/xc-racer99/andro...mmit/503a411a16c3671b5da9775450de582cc8c2ce85 and follow-up commits https://github.com/xc-racer99/andro...mmit/345ca93aa0877a9f1f382cfb284c752290b02c91 https://github.com/xc-racer99/andro...mmit/a5a2d012566390ac363e6950e8b7d73417a3b4a1 in the kernel, changes are need to your equivalent of aries-common)
xc-racer99 said:
I think you misunderstood me. You need to edit the file in KERNEL_SOURCE/usr/wave_initramfs.list (where KERNEL_SOURCE is the folder you downloaded the kernel source to), removing "source/" from any of the lines in that file that have it.
However, because you seem to be trying to just build the zImage, you need a prebuilt ramdisk.cpio and ramdisk-recovery.cpio as the ramdisks are built into the kernel (however the i9000 and series have switched them over to their own partitions on 7.0, see https://github.com/xc-racer99/andro...mmit/503a411a16c3671b5da9775450de582cc8c2ce85 and follow-up commits https://github.com/xc-racer99/andro...mmit/345ca93aa0877a9f1f382cfb284c752290b02c91 https://github.com/xc-racer99/andro...mmit/a5a2d012566390ac363e6950e8b7d73417a3b4a1 in the kernel, changes are need to your equivalent of aries-common)
Click to expand...
Click to collapse
I need add line of ramdisk from here https://github.com/xc-racer99/andro...82cc8c2ce85/drivers/mtd/onenand/samsung_gsm.h
To https://github.com/fire855/android_...ndroid-6.0/drivers/mtd/onenand/samsung_wave.h ? I think partitions of both device ís different. But thank you so much, i will try
thinhx2 said:
I need add line of ramdisk from here https://github.com/xc-racer99/andro...82cc8c2ce85/drivers/mtd/onenand/samsung_gsm.h
To https://github.com/fire855/android_...ndroid-6.0/drivers/mtd/onenand/samsung_wave.h ? I think partitions of both device ís different. But thank you so much, i will try
Click to expand...
Click to collapse
Well, it really depends on which partition format you want to use:
1) Continue using the "traditional" partition layout where the ramdisks are integrated into the kernel. This is probably recommended.
or
2) Switch to having the ramdisk and ramdisk-recovery each on their own partition. The i9000 has gone to this system in 7.0 - advantages are that things like SuperSU and Magisk can then easily modify the ramdisk without having to rebuild the kernel. This requires the changes in both device/samsung and the kernel and is more difficult.
However, I'm still unclear as to what ROM you're building. You shouldn't be trying to build just the kernel unless you're building pure AOSP.
xc-racer99 said:
Well, it really depends on which partition format you want to use:
1) Continue using the "traditional" partition layout where the ramdisks are integrated into the kernel. This is probably recommended.
or
2) Switch to having the ramdisk and ramdisk-recovery each on their own partition. The i9000 has gone to this system in 7.0 - advantages are that things like SuperSU and Magisk can then easily modify the ramdisk without having to rebuild the kernel. This requires the changes in both device/samsung and the kernel and is more difficult.
However, I'm still unclear as to what ROM you're building. You shouldn't be trying to build just the kernel unless you're building pure AOSP.
Click to expand...
Click to collapse
I no build rom,because wave can run rom of s1 normal with kernel of wave. I think no need build rom. I only merge new commits of kernel 7.0 s1 to wave. I patched comeplet but i have problem. I will try tonight

lineageOS 14.1 custom kernel ?

hi, i am running cm/los 14.1 but the kernel missing exfat support so that i cannot access my sdcard . is there a kernel that i can flash that has exfat support for cm 14.1 ?
tia urb
urbient said:
hi, i am running cm/los 14.1 but the kernel missing exfat support so that i cannot access my sdcard . is there a kernel that i can flash that has exfat support for cm 14.1 ?
tia urb
Click to expand...
Click to collapse
I am not sure if there is a kernel that does support it but take a look at Gamma Kernel https://forum.xda-developers.com/lg-g3/development/kernel-gamma-kernel-d855-d851-t3435940
And the CrazySuperKernel https://forum.xda-developers.com/lg-g3/development/kernel-crazysuperkernel-v1-t3521121
These MAY or MAY NOT have support, I have used both of these kernels in the fast and they are stable!
If you are unable to find a kernel with exfat I can compile you a lineage kernel with exfat support. It takes all of 5 minutes to do since I already have the dev tree. If you need it, let me know your variant and I'll whip one up.
eradicator006 said:
If you are unable to find a kernel with exfat I can compile you a lineage kernel with exfat support. It takes all of 5 minutes to do since I already have the dev tree. If you need it, let me know your variant and I'll whip one up.
Click to expand...
Click to collapse
that would be really helpful , its for the 855 .
For some reason I was thinking exfat was already part of the kernel tree and it just needed enabling. That's not the case. There is an app on the app store called paragon that may work for you. https://play.google.com/store/apps/details?id=com.paragon.mounter&hl=en
a quick question, do your D855 charge normally with any Nougat CM/LOS based ROM?
mine dont. i've tried many Nougat roms, many kernels and the only way to charge is in dev options force the usb to "charge only" but then it's limited to 500ma
EDIT: if the phone is off it charges normally and/or if i went back to android 6 stock/aosp it charges normally too, so i think the hardware is good.

Categories

Resources