SSIS OLE DB Error on package execution
The semaphore timeout period has expired" is a Network error 


Network issues between the source server and the server running SSIS?


A look in the Windows System logs of both machines might provide more information about any network issues. You will probably also find the specific windows error number, which will help in your research.


Locking/blocking ?  


Using the dmvs dm_exec_connections, dm_exec_sessions and dm_exec_requests you can see if another query is blocking access to a resource your SSIS package is requesting from the source server.

select es.session_id, er.blocking_session_id, * 
FROM sys.dm_exec_connections ec
LEFT OUTER JOIN sys.dm_exec_sessions es ON ec.session_id = es.session_id
LEFT OUTER JOIN sys.dm_exec_requests er ON ec.connection_id = er.connection_id



Is the query too slow because of full table scans or lack of indexes?
Remote Query Timeout: Is the remote query timeout set on the source server set?

EXEC sp_configure 'show advanced options', 0
GO
RECONFIGURE
GO


At 0 the default value, there is no timeout.