natsu 4 Posted January 5, 2020 Posted January 5, 2020 Hi, Checked that the Emby can access the Internal storage of Android, is there way to access the microSD card & USB OTG content? Because I rooted my Android Device while ago, but the Emby still can't access external storage. I know the NAS feature is good, but need another server to use, thanks!
Luke 42077 Posted January 6, 2020 Posted January 6, 2020 Hi there, what android device have you installed the server on?
natsu 4 Posted January 6, 2020 Author Posted January 6, 2020 Hi Luke, A very strange MTK device named Infocus M808 (Infocus V5), which is contained Android 6.0, I've rooted by magisk, and the MicroSD partition is standard instead of adoptable storage set, many thanks!
Luke 42077 Posted January 6, 2020 Posted January 6, 2020 Ok, we haven't tested this device, but have you tried entering the path manually into the emby directory picker?
natsu 4 Posted January 7, 2020 Author Posted January 7, 2020 Hi, The Internal Storage can be accessed, but emby app can't access the external storage, and there's no related permission setting about the external storage, thanks!
natsu 4 Posted January 7, 2020 Author Posted January 7, 2020 Hi, Please let me know if need to establish remote connection to the device, many thanks!
natsu 4 Posted January 9, 2020 Author Posted January 9, 2020 (edited) Hi Luke, For example, in folder "/storage/emulated/0" is directed to internal storage, can be accessed by emby. But for folder "/storage/798F-140E" which is directed to MicroSD storage, can't be accessed. Due to the problem is occurred on rooted & non-root devices, what can I use the emby access the content on microSD storage? Thanks! Logs about the error (Permission denied): 2020-01-10 00:33:30.214 Info HttpServer: HTTP Response 500 to 172.20.48.172. Time: 17ms. http://172.20.48.152:8096/emby/Environment/DirectoryContents?includeDirectories=true&path=%2Fstorage%2Femulated 2020-01-10 00:33:32.932 Info HttpServer: HTTP GET http://172.20.48.152:8096/emby/Environment/Drives. UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0 2020-01-10 00:33:32.941 Info HttpServer: HTTP Response 200 to 172.20.48.172. Time: 9ms. http://172.20.48.152:8096/emby/Environment/Drives 2020-01-10 00:33:34.879 Info HttpServer: HTTP GET http://172.20.48.152:8096/emby/Environment/DirectoryContents?includeDirectories=true&path=%2Fstorage%2F798F-140E. UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0 2020-01-10 00:33:34.901 Info HttpServer: HTTP GET http://172.20.48.152:8096/emby/Environment/ParentPath?path=%2Fstorage%2F798F-140E. UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0 2020-01-10 00:33:34.908 Error HttpServer: Error processing request *** Error Report *** Version: 4.4.0.6 Command line: /data/app/com.emby.embyserver-2/base.apk Operating system: Unix 3.18.19.0 64-Bit OS: True 64-Bit Process: True User Interactive: False Runtime: file:///mscorlib.dll System.Environment.Version: 4.0.50524.0 Processor count: 8 Program data path: /storage/emulated/0/Android/data/com.emby.embyserver/files Application directory: /data/user/0/com.emby.embyserver Mono: 6.6.0 (2019-08/e1ef774391d) Android Version: 6.0-REL - Base: - SDK: M Build ID: MRA58K - Incremental: 00WW_6_27W Patch-Level: 2017-03-01 Fingerprint: InFocus/M560_00WW/ZM1:6.0/MRA58K/00WW_6_27W:user/release-keys Model: InFocus M808 - InFocus/InFocus Hardware: ZM1/M560_00WW/mt6735/MT6753 SupportedAbis: arm64-v8a, armeabi-v7a, armeabi System.UnauthorizedAccessException: System.UnauthorizedAccessException: Access to the path '/storage/798F-140E/.android_secure' is denied. ---> System.IO.IOException: Permission denied --- End of inner exception stack trace --- at System.IO.FileStatus.EnsureStatInitialized (System.ReadOnlySpan`1[T] path, System.Boolean continueOnError) [0x00039] in <b7bb5f3538424ec1927304809f832185>:0 at System.IO.FileSystemInfo.Init (System.IO.FileStatus& fileStatus) [0x0001d] in <b7bb5f3538424ec1927304809f832185>:0 at (wrapper remoting-invoke-with-check) System.IO.FileSystemInfo.Init(System.IO.FileStatus&) at System.IO.FileSystemInfo.Create (System.String fullPath, System.String fileName, System.IO.FileStatus& fileStatus) [0x0001c] in <b7bb5f3538424ec1927304809f832185>:0 at System.IO.Enumeration.FileSystemEntry.ToFileSystemInfo () [0x00011] in <b7bb5f3538424ec1927304809f832185>:0 at System.IO.Enumeration.FileSystemEnumerableFactory+<>c.<DirectoryInfos>b__7_0 (System.IO.Enumeration.FileSystemEntry& entry) [0x00000] in <b7bb5f3538424ec1927304809f832185>:0 at System.IO.Enumeration.FileSystemEnumerable`1+DelegateEnumerator[TResult].TransformEntry (System.IO.Enumeration.FileSystemEntry& entry) [0x00000] in <b7bb5f3538424ec1927304809f832185>:0 at System.IO.Enumeration.FileSystemEnumerator`1[TResult].MoveNext () [0x001bc] in <b7bb5f3538424ec1927304809f832185>:0 at System.Linq.Enumerable+SelectEnumerableIterator`2[TSource,TResult].MoveNext () [0x00029] in <6e195348a7884257a041c7191d5c4bd5>:0 at System.Collections.Generic.LargeArrayBuilder`1[T].AddRange (System.Collections.Generic.IEnumerable`1[T] items) [0x0003d] in <6e195348a7884257a041c7191d5c4bd5>:0 at System.Collections.Generic.SparseArrayBuilder`1[T].AddRange (System.Collections.Generic.IEnumerable`1[T] items) [0x00000] in <6e195348a7884257a041c7191d5c4bd5>:0 at System.Collections.Generic.SparseArrayBuilder`1[T].ReserveOrAdd (System.Collections.Generic.IEnumerable`1[T] items) [0x00017] in <6e195348a7884257a041c7191d5c4bd5>:0 at System.Linq.Enumerable+Concat2Iterator`1[TSource].ToArray () [0x00008] in <6e195348a7884257a041c7191d5c4bd5>:0 at System.Linq.Buffer`1[TElement]..ctor (System.Collections.Generic.IEnumerable`1[T] source) [0x0000a] in <6e195348a7884257a041c7191d5c4bd5>:0 at System.Linq.OrderedEnumerable`1+<GetEnumerator>d__3[TElement].MoveNext () [0x0001e] in <6e195348a7884257a041c7191d5c4bd5>:0 at System.Linq.Enumerable+WhereSelectEnumerableIterator`2[TSource,TResult].ToList () [0x0003b] in <6e195348a7884257a041c7191d5c4bd5>:0 at System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0001f] in <6e195348a7884257a041c7191d5c4bd5>:0 at MediaBrowser.Api.EnvironmentService.Get (MediaBrowser.Api.GetDirectoryContents request) [0x00074] in <f28ad1a682514afd90f07da8ebb51b31>:0 at (wrapper dynamic-method) System.Object.lambda_method(System.Runtime.CompilerServices.Closure,object,object) at Emby.Server.Implementations.Services.ServiceController.Execute (Emby.Server.Implementations.HttpServer.HttpListenerHost appHost, System.Object requestDto, MediaBrowser.Model.Services.IRequest req) [0x00073] in <35383502c6e541e18437747c81175cb9>:0 at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync (Emby.Server.Implementations.HttpServer.HttpListenerHost appHost, MediaBrowser.Model.Services.IRequest httpReq, MediaBrowser.Model.Services.IResponse httpRes, Emby.Server.Implementations.Services.RestPath restPath, System.String responseContentType, System.Threading.CancellationToken cancellationToken) [0x00168] in <35383502c6e541e18437747c81175cb9>:0 at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler (MediaBrowser.Model.Services.IRequest httpReq, System.ReadOnlyMemory`1[T] urlString, System.ReadOnlyMemory`1[T] localPath, System.Threading.CancellationToken cancellationToken) [0x00b48] in <35383502c6e541e18437747c81175cb9>:0 Source: mscorlib TargetSite: Void Throw() InnerException: System.IO.IOException: Permission denied Source: TargetSite: Edited January 12, 2020 by ebr Formatting
Solution softworkz 5066 Posted January 11, 2020 Solution Posted January 11, 2020 (edited) You need to format the SD card as "External Storage". A folder where you should definitely have write access (in case you want to use it as a cache or transcoding-temp folder) is this: /storage/798F-140E/Android/data/com.emby.embyserver/files If the file picker dialog in Emby doesn't allow you to browse to that folder, you can try to manually enter /storage/798F-140E/Android/data/com.emby.embyserver/ into the 'Path' text box and then click on the button with the magnifier icon. erger Edited January 11, 2020 by softworkz 1
natsu 4 Posted January 12, 2020 Author Posted January 12, 2020 HI softworkz, thanks, I've manually created the file path on external SD mode, and the manually path is worked. Due to the insecure of Adopted storage which cause data loss, I think there's no one to use adopted storage for store larger files... 1
softworkz 5066 Posted January 12, 2020 Posted January 12, 2020 Handling external storage is a very weak point on Android. Handling has changed with each Android version and it can also vary depending on the device manufacturer. I'm glad you got it working - thanks for letting us know!
natsu 4 Posted January 12, 2020 Author Posted January 12, 2020 The situation is applied for Android 6.0 ~ 8.1 with Standard SD Storage set (no adopted storage), for Android 9 & 10, it mayn't useful... For USB OTG is the same, but please check the Device ID again is changed when the OTG is formatted. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now