[Samsung Epic 4G Touch] E:V:A:
Hi, I will try to help you as much as time allows.. But I'm easily confused as I'm trying to understand several different platforms, chipsets, models, AOS versions etc etc. So let's try to be very precise, to make sure that other people (not having an SPH-D710 or NS4G) also can benefit from this discussion. Please consider using:

(a) specific model numbers, in addition to generic names such as "SGS2".

(b) XDA-thread names/titles with posted links so that we don't have to waste time clicking on every link just to find out we have already read it. E.g. like this: "Kernel serial console on I9100".

(c) What exact steps you use to obtain a certain type of output.

Sorry for being anal about this, but it quickly gets really confusing and annoying otherwise, once you start following 30+ threads... Having said all this we can move On-Topic.

--------------------------- updated --------------------------------

[Partial re-post of PM]

Your phone is using the Qualcomm QSC6085 baseband processor, which means that your SPH-D710 is basically completely different from the GT-I9100. Thus it is most likely that the chips used (MUX) to interface with mUSB are also different, and if they are not, they must surely be wired differently to accommodate the modem chipset. The resistor values mentioned is valid for most Samsung phones using the FSA9280A mux, for other devices I have no idea, but given the laziness of Samsung they may still be implemented in various other ways..

Many issues with AOS, is with file-permissions. Another is that you may need to reboot, before certain settings take effect. Third is that there are internal mux's used/controlled by baseband with the +CMUX AT-command (and others). But one thing is for sure, Samsung doesn't want their service people to waste time with all this hacking. So yes, USB service mode (to talk to and tune the modem) via USB cable must be available somehow...

THAT is exactly what I find strange. You see on both my I9000 and I9100 when you connect your phone without using "modem" (as you put it), it still enables the (virtual-serial-usb) modem interface as an additional device. If I use the PhoneUtil menu to change USB to MODEM, I loose normal connection since windows ask to install proper drivers (referring to 7-CDC.) I don't know what that driver is or where to get it. (In fact it may already be present on my computer as part of the multiple driver CDC that was installed with first time use of Kies.) But perhaps need to be pointed to again, for activation...

For example, on a Vista machine the drivers are located under:

../Program Files/Samsung/USB Drivers/25_escape

There's a bunch of files located there, but the most relevant ones (for me) seem to be:

ssuddmgr.inf --> Install USB Device Management Serial Port Driver SSUD.DeviceDesc = "SAMSUNG Mobile USB At Command Port "
ssudmdm.inf --> Install CDMA USB Modem device driver SSUD.DeviceDesc = "SAMSUNG Mobile USB Modem"
ssudmdm.cat* -->

Do you also have these or are the ones you use different?

Which are these?

Please post the output of:

# cat /sys/kernel/debug/usb/devices
# ls -l /sys/bus/usb/drivers/cdc_svnet

Also, it is very important to understand that the ServiceMode application is actually running just as a wrapper for the real code, which is usually running in the baseband. This where all the hardware (MUXes, USB, i2c interfaces etc) are specified, that is used to communicate with modem. However, this may be working differently on your BP, and may be instead done in the RIL libraries, etc.

------------ Final PM Response --------------

Ok, I know I am not coming across very clear, because we apparently have such different devices! Let me try to explain again.

1) I don't know why you insist you need to "make the switch" at all? On the I9100 there is no need to make this "switch" to get modem serial communication port. Why do you think you need it on yours?

2) In fact, unless you know for sure that your phone contain some (or the same) type of USB/UART switch IC (aka MUX) as in the I9100, there is no reason to expect you to have this "switch" functionality.

3) The USB drivers can do much of this virtual switching magic in software (by themselves). But really I have no clue how those things work in detail! Like I mentioned there are 7 "drivers" doing various ****, that is installed with Kies... How, and under what circumstances these are activated and used, is beyond me. (Or better, you can read how USB ports are activated on Wikipedia and about USB composite devices (CDCs) here.)

4) If you're still convinced that you need to do this switch, there is one more trick. You can try to use this tool (thanks to KickerTom in this post) to list the contents of your /mnt/.lfs/param.blk file, in readable format, or in hex-format with:

# hexdump -C /mnt/.lfs/param.blk

(You'll need busybox to do this.)

You can use that tool to write and change stuff as well, BUT: Make sure you have a full backup!! The .lfs partion is not writable in the same manner as other types of partitions. It can only "grow", and never get smaller... AFAIK.

KickerTom further states:

From my experiments it looks like the SWITCH_SEL parameter is ignored by the HW, at least I haven't observed any real effect. But you can change the UART switch by modifying a file next to the param.blk, /mnt/.lfs/sw_sel. It contains an ASCII number, by default 1. That is modem uart. Change it to 3 to get PDA uart connected, by e.g. "echo -n 3 > /mnt/.lfs/sw_sel".
​

5) You may need to reinstall the "Qualcomm USB Host Driver"...